JS篇 ES6新特性
注意:
1. Node环境下,--harmony参数启用ES6新特性,许多新特性只有在strict mode下才生效,因此使用"use strict"或者--use_strict,否则harmony没有被启用;
1. 块级作用域(Block scope)
// Block scope function f1(){ console.log("Outside."); } (function(){ if(false){
// f1定义在if {}之内 function f1() { console.log("Inside."); } } f1(); }());
ES5中:
1. strict mode: 将会报错:In strict mode code, functions can only be declared at top level or immediately within another function.(函数只能声明在Glocal scope或者函数里的最外层)
2. non-strict mode: 输出:"Inside";
ES6中:
1. strict mode: 输出:"Outside",(node环境下使用命令:node --harmony --use_strict 1_blockScope.js,使用node 1_blockScope.js --harmony命令,harmony没有起作用)
2. non-strict mode: 输出:"Inside";(根据上面第一条:non-strict mode下不启用harmony)
因为ES6中,出现了块级作用域,导致上面的代码在ES6 context的strict mode中是有意义的;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。