zoukankan      html  css  js  c++  java
  • es5,es6

    ①es5,es6 对比

    1.es6的箭头函数中,this指向创建者,并非调用者,fun1在全局函数下创建,所以this指向全局window,而fun2在对象data下创建,this指向data对象,所以在func2函数内部this指向data对象
    
    2.const定义的变量不可以修改,而且必须初始化。
    
    3.解析结构
    // es5
    var loading = props.loading;
    var clicked = props.clicked;
    
    // es6
    const {
        loading,
        clicked
    } = props;
    
    // 给一个默认值,当props对象中找不到loading时,loading就等于该默认值
    const {
        loading = false,
        clicked
    } = props;
    
    4.
    // es5
    var fn = function(a, b) {
        return a + b;
    }
    
    // es6 箭头函数写法,当函数直接被return时,可以省略函数体的括号
    const fn = (a, b) = >a + b;
    
    5.使用ES6默认参数特性将param2默认为0。 // _note_me_Add
    function sum(param1, param2 = 0) {
        console.log(param2); // => 0
        return param1 + param2;
    }
    sum(1); // => 1
    sum(1, undefined); // => 1
    #有一种特殊情况: 箭头w函数中没有arguments。const sumArgs = () = >{
        console.log(arguments);
        return 0;
    };
    
    // throws: "Uncaught ReferenceError: arguments is not defined"
    sumArgs();

     ②箭头函数

    箭头函数有几个使用注意点。
    
    (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
    
    (2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
    
    (3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
    
    (4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

    end.

  • 相关阅读:
    C++学习总结 复习篇2
    C++ 学习总结 复习篇
    Git 安装与使用
    前两周工作总结
    [bzoj1033] [ZJOI2008]杀蚂蚁antbuster
    [bzoj1031] [JSOI2007]字符加密Cipher
    [bzoj1030] [JSOI2007]文本生成器
    [bzoj1029] [JSOI2007]建筑抢修
    [bzoj1028] [JSOI2007]麻将
    [bzoj1026] [SCOI2009]windy数
  • 原文地址:https://www.cnblogs.com/wn798/p/12016338.html
Copyright © 2011-2022 走看看