本帖最后由 AreYouGlad 于 2017-12-20 11:53 编辑
ECMAScript6
ES6也称为ECMAScript2015,是2015年出版的javaScript国际新标准,标准的制定者计划,以后每年发布一次标准,使用年份作为版本号,ES6是在2015年发布的,所以又称为ECMAScript2015,2016年发布的标准即为ES7。 主要升级内容- 字符编码
- 新字符串
- 增强计算api: SIMD,Math
- 增强正则
- 变量赋值 模式匹配
- 函数式编程
- 函数新数据结构set , map
- 二进制数组语法糖
- 后端语言特性 class ,const , decorator,Iterator
- 将部分库移植到标准 proxy , iterator , promise , module , object , Async
- 新概念 Generator/yield , symbol
资料 let与const
新的变量定义方式。 let特点:
不允许重复声明 块级作用域 没有预解析 存在暂时性死区 全局变量不再是window属性
const作用:
特点:
不允许重复声明 块级作用域 没有预解析 存在暂时性死区 全局变量不再是window属性 定义时必须赋值,同时不允许修改
特点演示[JavaScript] 纯文本查看 复制代码 // SyntaxError,在语法分析时就报错
let a = 10;
let a = 20;
function fn(arg) {
let arg;
}
fn(10); // SyntaxError
[JavaScript] 纯文本查看 复制代码 {
let a = 10;
console.log(a); // 10
}
console.log(a); // ReferenceError [JavaScript] 纯文本查看 复制代码 console.log(a); // ReferenceError
let a = 10;
- 即在某作用域内如果存在let、const声明的变量常量。
- 如果在声明前使用它们就报错,也不会从上级作用域中查找。
[JavaScript] 纯文本查看 复制代码 let a = 10;
{
console.log(a); // ReferenceError
let a = 20;
}
[JavaScript] 纯文本查看 复制代码 let a 10;
console.log(a); // 10
console.log(window.a); // undefined
[JavaScript] 纯文本查看 复制代码 const NAME; // SyntaxError;
[JavaScript] 纯文本查看 复制代码 const NAME = '地球';
NAME = '火星'; // TypeError
使用场景
[JavaScript] 纯文本查看 复制代码 let i = 10;
for(let i = 0; i < 3; i++) {
console.log(i);
}
console.log(i); // 10
[JavaScript] 纯文本查看 复制代码 console.log(a + b); // RefrenceError
let a = 10;
let b = 20;
[JavaScript] 纯文本查看 复制代码 const PI = 3.1415926;
PI = 2.1415926; // TypeError
|