码迷,mamicode.com
首页 > 其他好文 > 详细

ES6的严格模式

时间:2020-02-25 00:13:45      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:div   lob   ace   interface   prot   caller   stat   保留字   需要   

ES6 的模块自动采用严格模式,不管你有没有在模块头部加上"use strict";。

严格模式主要有以下限制:

    变量必须声明后再使用

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

    不能使用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的严格模式

标签:div   lob   ace   interface   prot   caller   stat   保留字   需要   

原文地址:https://www.cnblogs.com/ranyihang/p/12359378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!