美文网首页
ES6简单语法

ES6简单语法

作者: 石燕平_Leo | 来源:发表于2018-04-21 22:36 被阅读0次

    1. 常量

    // es5常量
    var person = {
        'name': 'shi'
    }
    Object.defineProperty(person, 'sex', {
        writable: false,
        value: 'man'
    })
    
    // es6常量
    const sex = 'man';
    

    2. 箭头函数

    不改变this的指向,this指向定义时候的实例

    () => {}
    

    3. 作用域

    // let
    const arr = [];
    for (let index = 0; index < 3; index++) {
        arr[index] = function () {
            return index * 2;
        }
    }
    console.table([
        arr[0](),
        arr[1](),
        arr[2]()
    ]);
    
    // var
    const arr1 = [];
    for (var i = 0; i < 3; i++) {
        arr1[i] = function () {
            return i * 2;
        }
    }
    
    console.table([
        arr1[0](),
        arr1[1](),
        arr1[2]()
    ]);
    

    4. 默认参数

    4.1 默认参数

    function f (x, y = 7, z = 21) {
        return x+y+z
    }
    

    4.2 必填参数检查

    es6还可以对必填参数进行检查

    function checkParams() {
        throw new Error('params can\'t be empty')
    }
    
    function f(x=checkParams(), y = 2, z = 3) {
        return x + y + z;
    }
    
    try {
        f();
    } catch (error) {
        console.log(error)
    }
    

    4.3 可变参数操作

    用一个求和的例子去说明es6对于可变参数的操作

    // ES5对数据可变参数进行求和
    function sum() {
        // arguments是伪数组,需要通过array的原型方法对其进行操作
        var arr = Array.prototype.slice.call(arguments);
        var sum = 0;
        arr.forEach(function (item) {
            sum += item * 1;
        });
        return sum;
    }
    console.log(sum(1, 2, 3, 6));
    
    // ES6对于可变参数进行求和
    // ...扩展运算符
    function sum1(...arr) {
        let sum = 0;
        arr.forEach(item => {
            sum += item * 1;
        });
        return sum;
    }
    console.log(sum1(1, 2, 3, 6));
    

    5. 扩展运算符

    有很多用途,这里只是简单的介绍一下

    5.1 数组合并

    // es5写法
    var params = [1, true, 'test'];
    var arr = [2, '合并'].concat(params);
    console.log(arr);
    
    // es6的写法
    var params = [1, true, 'test'];
    var arr = [2, '合并', ...params];
    console.log(arr);
    

    只是一些简单的es6的语法,想详细学可以看阮一峰老师的es6书

    相关文章

      网友评论

          本文标题:ES6简单语法

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