es6严格模式变态的地方

Posted 94pm

tags:

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

1.块级函数

"use strict";

  if (true) {

    function f() { } // 语法错误

  }

es5中严格模式下禁止声明块级函数,而在es6的严格模式中可以声明块级函数,并可以在块级作用

 ‘use strict‘
 var b= true;
 if(b){
   function test(){
     console.log(‘我是块级函数‘)
   }
   test(); //可以正常运行
 }
 console.log(typeof test) //块级作用域外无法访问

2. 箭头函数

箭头函数是es6中新增的一种特殊函数,不管是否处于严格模式下,箭头函数的参数都不能有同名的。而ES5中,只有在严格模式下函数的参数才不能有同名

3.字面量对象重复属性问题

es5的严格模式中,如果对象属性重名则会报错,es6则不管是不是严格模式,如果有同名属性,则后面的属性覆盖前面的

4.es6模块模式

采用es6的模块化开发时,代码自动运行在严格模式下且没有任何办法跳出严格模式

 

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

ES6的严格模式

ES6中的模块化

es6要用严格模式

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

ES6 标准入门-Module

ECMAScript6语法