zoukankan      html  css  js  c++  java
  • ES6方面重点摘要

    1、变量声明
    (1)内层变量覆盖外层变量(即后面的覆盖前面的)
    (2)循环变量的声明,i值在全局范围内有效,所以最后输出的都是最后一轮i的值
    (3)let、const的引入,为JS增加了块级作用域的概念(const一旦声明,常量的值就不能改变)

    (4)const的应用场景,引用第三方库时,用const声明
    2、原型、构造函数、继承
        引入了class类的概念,先用class定义一个“类”,里面有一个constructor构造方法,this关键字代表实例对象。
    (1)constructor内定义的方法和属性是实例对象自己的,而constructor外定义的方法和属性则是所有实例对象共享的
    (2)class之间通过extends关键字实现继承。子类必须在constructor方法中调用super方法,否则新建实例时会报错(这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。)
    (3)ES6的继承机制,实质是先创造父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。
    3、箭头函数
    (1)简单的写法
    (2)对this重定向、和this绑定的改进。
    (3)当我们使用箭头函数时,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,它的this是继承外面的,因此内部的this就是外层代码块的this
    4、模板字符串
    (1)用反引号来标识起始,用 ${} 来引用变量,而且所有的空格和缩进都会被保留在输出之中
    5、解构
    (1)正写情况、反写情况均可解构:通过解构赋值的方法,从node对象读取相应的值重新为这两个变量赋值
    (2)为非同名局部变量赋值,当使用其他变量名进行赋值时也可以添加默认值,只需在变量名后添加等号和默认值即可
    (3)嵌套对象解构:解构模式可以应用于任意层级深度的对象,且每一层都具备同等的功能
    6、默认值
    (1)给参数指定默认值:当指定的属性不存在时,可以随意定义一个默认值,在属性名称后添加一个等号(=)和相应的默认值即可
    7、rest语法:
    (1)不定元素,三个点,类似于arguments
    8、模块化:import/export
    (1)require.js写法:先定义define,然后再require
    (2)CommonJS写法:先require,再exports
    (3)ES6写法:先import,再export
        export命令除了输出变量,还可以输出函数,甚至是类;import则导入这些变量、函数或类;
        用 as 实现一键换名;
        除了指定加载某个输出值,还可以使用整体加载,即用星号(*)指定一个对象,所有输出值都加载在这个对象上面。通常 星号* 结合 as 一起使用比较合适。
       

  • 相关阅读:
    UML第一次编程作业
    css文本属性
    css文字属性
    Qobject设置对象名称和属性
    m3u8
    easyUI tree jQuery
    easyUI layout
    正则表达式
    Spring mvc 数据验证框架注解
    blur和click事件的先后顺序问题
  • 原文地址:https://www.cnblogs.com/goloving/p/8467339.html
Copyright © 2011-2022 走看看