es6 模块的语法严格模式
严格模式
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
)
上面这些限制,模块都必须遵守。由于严格模式是 ES5 引入的,不属于 ES6,所以请参阅相关 ES5 书籍,本书不再详细介绍了。
其中,尤其需要注意this
的限制。ES6 模块之中,顶层的this
指向undefined
,即不应该在顶层代码使用this
。
es6 模块的语法严格模式相关推荐
- es6 模块的语法概述
概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.其他语言都有这项功能,比如 Ruby 的require.Pytho ...
- ES6模块体系及DDN区块链设计开发规范
ES6模块体系及DDN开发规范 概述 得益于 ES6 和 TS的模块体系,DDN区块链可以快速拆解和迭代.没有这些模块化的基础,我们后面所有的工作都会受阻,可插拔.可视化.可配置等功能就成了一句空话, ...
- ES6 模块加载export 、import、export default 、import() 语法与区别,笔记总结
ES6模块加载export .import.export default .import() 语法与区别 在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种. ...
- 模块打包之CommonJS与ES6模块比较初探
Time: 20190920 模块是具有特定功能的组成单元,不同模块负责不同的工作,然后会以某种方式联系到一起,形成完整的程序逻辑. CommonJS CommonJS是2009年社区提出的,包含模块 ...
- 商城项目介绍以及ES6的新语法
0.学习目标 了解电商行业 了解乐优商城项目结构 能独立搭建项目基本框架 能参考使用ES6的新语法 1.了解电商行业 学习电商项目,自然要先了解这个行业,所以我们首先来聊聊电商行业 1.1.项目分类 ...
- es6 混合commjs_详谈commonjs模块与es6模块的区别
到目前为止,已经实习了3个月的时间了.最近在面试,在面试题里面有题目涉及到模块循环加载的知识.趁着这个机会,将commonjs模块与es6模块之间一些重要的的区别做个总结.语法上有什么区别就不具体说了 ...
- es6 --- 模块
function foo(){var something = 'cool';var another = [1, 2, 3];function doSomething() {console.log( s ...
- 模块定义文件导出类_浓缩的就是精华——ES6模块精炼讲解
概述 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库). ES6 引入了模块化,其设计思想是在编译时就 ...
- ES6模块的import和export用法总结
ES6之前已经出现了js模块加载的方案,最主要的是CommonJS和AMD规范.commonjs主要应用于服务器,实现同步加载,如nodejs.AMD规范应用于浏览器,如requirejs,为异步加载 ...
最新文章
- 用GAN来做图像生成,这是最好的方法
- 【MyBatis】学习纪要六:动态SQL
- 5、Power View—图块与切片器的应用
- 网站图片多服务器选多大,网站上的图片一般多大合适
- 计算机应用基础试题号2007,2006-2007计算机应用基础期末试题(A卷).pdf
- java大数据开发工程师,面试题附答案
- 在SQLServer2005中使用全文搜索
- 一年工作经验的java面试题
- Linux基础-网络配置
- android控件缩放后居中,三大布局的基本摆放属性总结,以及imageVIew图片摆放的缩放问题...
- pycharm 改成中文亲测好用
- python设计教务管理系统_python实现教务管理系统
- AndroidImageSlider三分钟快速集成酷炫自动轮播广告
- 如何利用计算机打印较大的字,Word打印技巧:打印大字-word技巧-电脑技巧收藏家...
- 联想笔记本win10系统加装SSD固态硬盘,系统迁移流程
- matlab求26个字母的组合方式,26个字母识别 用matlab实现的
- Linux 知:find
- TOEFL口语——TASK4的答题方法(学术场景Academic Lecture)
- 高校挑选校园智能门锁指南,学校后勤管理者速看
- 路缘石滑模机脱离预制作业追赶施工效率
热门文章
- xfce 双击窗口标题栏无法最大化解决办法
- 数据中心实施服务器虚拟化前的十大思考
- linux安装软件时提示找不到镜像的问题:Couldn't resolve host 'mirrorlist.centos.org'
- SVN: Can't create session svn
- 写给自己看的三栏布局的演示
- 什么?你竟然还没有用这几个chrome插件? 1
- Flask插件---flask_script与flask_migrate
- Flutter 萌新高频问题(加班猿妈妈叫你回家吃饭了)
- 基于MHA+semi sync实现mysql数据库的高可用
- 数据库设计中常见表结构的设计技巧(转)