ES6严格模式&箭头函数

一、Delete运算符

    1.作用:用来删除变量、对象属性、数组成员(只能删除未用var声明的变量)

    2.语法:

        -删除对象:     

        -删除数组:

        -delete删除的是变量名以及变量和值的对应关系 而内存中的值不受影响的   

二、严格模式

    1.作用:严格模式就是将代码放到一个更规范、安全、受限定的范围内更好的运行

    2.语法:通过“use strict”字符串形式定义,可用于三个位置

        -.外部js文件:在文件开头书写“use strict”则表示整个文件需按严格模式执行

        -.script标签:在标签开头书写“use strict”则表示整个标签需按严格模式执行

        -.函数体内:在函数体内开头书写“use strict”则表示整个标签需按严格模式执行

    3.规则

        -变量必须声明后再使用,就是不能省略var

        -函数的参数不能有同名属性,否则报错

        -不能使用with语句

        -不能对只读属性赋值,否则报错

        -不能使用前缀0表示八进制数,否则报错

        -不能删除不可删除的属性,否则报错

        -不能删除变量delete prop,会报错,只能删除属性delete global【prop】

        -eval不会再它的外层作用域引入变量

        -eval和arguments不能被重新赋值

        -arguments不会自动反映函数参数的变化

        -不能使用arguments,callee

        -不能是用arguments,caller

        -禁止this指向全局对象

        -不能使用fn.caller和fn.arguments获取函数调用的堆栈

        -增加了保留字(比如protected、static和interface)

        -其中,尤其需要注意this的限制。ES6模块中,顶层的this指向undefined,即不应该在顶层代码使用this

三、解构赋值(es6新增)

    1.作用:

        -解构:从数组或者对象中,提取属性和元素

        -赋值:分别赋值给相应的变量

    2.语法:

        -数组:var 【foo,bar】 = 【1,2】(使用解构赋值可快速完成)

        -对象(从右到左的赋值即:变量←属性):var {foo : x, bar : y} = {foo : "hello", bar : "world"};

        console.log(x, y);

        如果变量名和属性名相同可简写:var {foo, bar} = {foo : "hello", bar : "world"};

        console.log(foo, bar);

四、解构数组(左右索引值相对应)

    1.语法顺序

        -变量声明

        -解构数组

        -变量赋值

    2.设置默认值

    3.使用rest语法


    4.利用解构赋值可交换两个变量的值

五、解构对象(如果不是声明的表达式需在表达式两边使用括号)

    1.设置默认值:

    2.给函数设置默认值,就是当没有传参时,所使用的值

六、模板字符串

    1.语法:var str = `hello world`

    2.作用:

        -支持空格换行操作

        -支持嵌入表达式

        -${}里面即可以是变量,也支持表达式


        -带标签的模板字符串

        -特殊的标签函数

七、箭头函数

    1.作用:

        -可使用=>代替function声明(如果参数有且只有1位,形参的小括号也可省略不写;如果函数体只有一条语句,还可省略大括号及return)

        -箭头函数没有自己的this,使用的是外部的this

            -箭头函数没有arguments

            -箭头函数不能作为构造函数

你可能感兴趣的:(ES6严格模式&箭头函数)