美文网首页
ECMA Script6

ECMA Script6

作者: 奈何明月照沟渠 | 来源:发表于2017-12-18 14:36 被阅读0次
    变量与常量

    let 替代了 var
    增加了常量const的概念例如这样写
    const a=1
    a=2
    会报语法错误

    增加了块级作用域

    {var a = 0}
    console.log(a)//0
    {let b= 0}
    console.log(b)//not definde外部访问不到块级作用域中的变量;

    增加了字符串模板

    let name = ls
    利用反引号console.log( `my name is ${name}` )//my name is ls

    函数

    箭头函数

    let fun=(arg1,arg2)=>{
    console.log(arg1,arg2)
    }
    ()=>替换了function()
    箭头函数内部没有 [[construct]]方法, 因此不能当作构造器和使用new操作符
    箭头函数内部没有原型链prototype和arguments对象
    箭头函数内部的this在生命周期内不会更改指向

    参数展开

    let arr=[1,2]
    调用之前声明的fun函数fun(...arr)//1 2

    Obj

    新方法

    Object.keys(obj)返回obj所有的key
    Object.values(obj)返回所有的value
    Object.entries(obj)返回对象转换成的数组[0:{key:value}]

    计算属性

    const name='ls'
    let obj={[name]:'good'} 打印objobj{ls:good}

    键值对简写

    let obj={name}打印obj obj{name:ls}

    function

    let obj{
    fun(){console.log(1)}
    }

    扩展

    const obj1={name:'ls1'} const obj2={name:'ls',age:25}
    let obj={...obj1,...obj2,love:"yr"}可以得到obj{name:'ls',age:25,love:'yr'}其中对重复的name键进行了覆盖

    解构赋值

    对象解构

    const obj={name:'ls',age:25}
    let {name,age} = obj 此时等价于var name=obj[name]; var age=obj[age]

    数组解构

    const arr=[ls,25]
    let [arg1,arg2] = arr 等价于let arg1 = arr[0] let arg2= arr[1]

    class Person{
      constructor(){
        this.name = ls
      }
       showName(){
       console.log(`i am ${this.name}`)
      }
    }
    创建实例const i = new Person()
    i.showName()

    模块化

    export const arr = [1]暴露变量出去
    在另一个文件中就可以import arr form 'src'接收

    相关文章

      网友评论

          本文标题:ECMA Script6

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