美文网首页
ES6 扩展

ES6 扩展

作者: 晚溪呀 | 来源:发表于2019-03-04 00:16 被阅读0次

    一、字符串扩展

    第一个参数查找的值,第二个参数开始查找的位置

    includes 是否包含某一个
    startsWith头部存在某一个
    endsWidth 尾部存在某一个

    repeat 重复几次
    介于0和正无穷大之间的整数 : [0, +∞)。表示在新构造的字符串中重复了多少遍原字符串

    padStart头部补全
    padEnd尾部补全
    str.padStart(targetLength, padString)
    str.padEnd(targetLength, padString)

    二、数值扩展

    Number.isFinite() 判断一个数是不是无穷大

    全局函数 isNaN 会发生类型转换
    Number.isNaN() 判断一个数是不是NaN,该方法不会强制将参数转换成数字,只有在参数是真正的数字类型,且值为 NaN 的时候才会返回 true

    Number.parseInt() 转化为整数
    Number.parFloat() 转化为浮点数

    Number.inInteger() 判断一个数是不是整数

    二、Math 扩展

    Math.trunc去除一个数的小数部分,返回整数部分

    Math.sign()
    参数为整数,返回 +1
    参数为负数,返回 -1
    参数为0,返回 0
    参数为-0,返回 -0
    其他值,返回NaN
    传入该函数的参数会被隐式转换成数字类型。

    Math.cbrt()计算一个数的立方根

    Math.hypot()返回所有参数的平方和的平方根
    3 ** 2 + 4 ** 2 = 5 ** 2
    (9 + 16) / 5

    三、函数扩展

    严格模式

    只要函数参数使用了默认值,解构赋值,扩展运算符,那么函数内部就不能显示设定为严格模式,否则会报错,
    'use strict'
    声明在全局环境 和 函数环境时,变量必须先声明后使用
    声明函数环境时,this不是任何对象的属性的时候,指向 undefined

    四、数组扩展

    Array.from将两类对象转为真正的数组
    console.log(Array.from('foo')); // ["f", "o", "o"]
    语法
    Array.from(arrayLike[, mapFn[, thisArg]])
    mapFn(可选参数)
    如果指定了该参数,新数组中的每个元素会执行该回调函数。
    console.log(Array.from([1, 2, 3], x => x + x)); // [2, 4, 6]

    Array.of 将一类数值,转化为数组
    console.log(Array.of(1,23,4))
    // [1, 23, 4]

    copyWithin()
    数组实例的 copyWithin方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员) ,然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

    它接受三个参数。
    . target (必需) :从该位置开始替换数据。
    . start(可选) :从该位置开始读取数据,默认为 0,如果为负值,表示倒数。
    . end(可选) :到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。
    这三个参数都应该是数值,如果不是,会自动转为数值。

        [1, 2, 3, 4, 5].copyWithin(0, 3)
        // [4, 5, 3, 4, 5]
    

    Array.fill() 填充数组 /fɪl/ 填满

    数组实例
    keys 遍历健名
    values 遍历键值取
    entries遍历键值对 entries /'entrɪs/ 记录

            let arr = [1, 2, 3, 4];
            for (let key of arr.keys()) {
                console.log(key)
            }
            /*
            keys() 0  1  2  3 
            values() 1  2  3  4
            entries() 
                [0, 1]
                [1, 2]
                [2, 3]
                [3, 4]
            */ 
    

    includes能识别NaN

    五、对象扩展

    Object.is() 判断两个值是否相等 Object.is(NaN, NaN) true
    

    对象实例
    keys 遍历健名
    values 遍历键值取
    entries遍历键值对

    通过 object.keys(对象) 调用

            let obj = {
                "a": '1',
                "b": '2',
                "c": '3'
            };
            
            console.log(Object.keys(obj)); // ["a", "b", "c"]
            console.log(Object.values(obj)); // ["1", "2", "3"]
            console.log(Object.entries(obj));
                /*
                    ["a", "1"]
                    ["b", "2"]
                    ["c", "3"]
                */ 
    
            for (let key in obj) {
                console.log(Object.keys(obj))
                console.log(Object.values(obj))
                console.log(Object.entries(obj))
            }
    

    指数运算符

                **
                **=
    

    相关文章

      网友评论

          本文标题:ES6 扩展

          本文链接:https://www.haomeiwen.com/subject/yxbvuqtx.html