其他分享
首页 > 其他分享> > ECMAScript 6.0新特性

ECMAScript 6.0新特性

作者:互联网

ECMAScript 6.0 (以下简称ES6, ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是 European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言)一种脚本语 言的标准,已经在2015年6月正式发布了,并且从ECMAScript6开始,开始采用年号来做版本。即ECMAScript 2015,就是ECMAScript6它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语 言。每年一个新版本。

一、let&const

我们以后会经常使用let来声明一个变量,还有一个const常量(声明之后不允许改变,一旦声明必须初始化, 否则报错)

 1、通过var定义的变量,作用域是整个封闭函数,是全域的 。通过let定义的变量,作用域是在块级或是子块中。

for (let i = 0; i < 10; i++) {
  // ...
}

console.log(i);
// ReferenceError: i is not defined
//计数器i只在for循环体内有效,在循环体外引用就会报错。
2、变量提升现象:浏览器在运行代码之前会进行预解析,首先解析函数声明,定义变量,解析完之后再对函数、变量进行运行、赋值等。
-不论var声明的变量处于当前作用域的第几行,都会提升到作用域的头部。
-var 声明的变量会被提升到作用域的顶部并初始化为undefined,而let声明的变量在作用域的顶部未被初始化
// var 的情况
console.log(foo); // 输出undefined
var foo = 2;
//相当于
var foo;  //声明且初始化为undefined
console.log(foo);
foo=2;

// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;
//相当于在第一行先声明bar但没有初始化,直到赋值时才初始化

 3、var可以声明多次,let只可以声明一次

        var a=1
        var a=3
        let b=2  // 报错
        let b=4  // 报错
        console.log(a)
        console.log(b)
           

4、数组解构

        // 数组的解构
        let arr=[1,2,3];

        let a=arr[0];
        let b=arr[1];
        let c=arr[2];
        console.info(a,b,c)

        // ES6: 数组的解构表达式
        let[aa,bb,cc]=arr;
        console.info(aa,bb,cc)

 

标签:console,log,作用域,特性,let,ECMAScript,6.0,var,声明
来源: https://www.cnblogs.com/timetriesall/p/16177127.html