es6要用严格模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6要用严格模式相关的知识,希望对你有一定的参考价值。

实验let的块级作用域,在sublime的Tools——Babel——Babel Transform检测未出现错误,在html中也未出现错误,唯在控制台中一直报错。

//js名为es6.js ---* es6.js *---改前:
let a = [];
for (let i = 0; i < 10; i++) {
    a[i] = function() {
        console.log(i);
    };
}
a[6]();


//html中

<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="es6.js">
</script>
</head>

原因:ES6代码开头时要声明为"use strict"。

//改后
"use strict";
let a = [];
for (let i = 0; i < 10; i++) {
    a[i] = function() {
        console.log(i);
    };
}
a[6]();

等价于ES5中的闭包

 

以上是关于es6要用严格模式的主要内容,如果未能解决你的问题,请参考以下文章

ES6的严格模式

es6严格模式变态的地方

为啥 `"foo".bar = 42;` 在 ES6 的严格模式下会抛出 `TypeError`?

ES6 标准入门-Module

JavaScript学习笔记--ES6学习 数值的扩展

ECMAScript6语法