0 ES6基本语法

  ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。

  本部分只学习前端开发中ES6的必要知识,方便后面项目开发中对代码的理解。

 

1 let声明变量

与我们的JavaScript中var声明变量有什么区别?

  <1>作用域不同

{
    var a = 0; // var声明的变量是全局变量
    let b = 0; // let声明的变量是局部变量
}
console.log(a);
console.log(b); //b is not defined:b没有定义

 

  <2>声明次数不同

// var可以声明多次
// let只能声明一次
var m = 1;
var m = 2;
let n = 3;
let n = 4; //SyntaxError: Identifier 'n' has already been declared(语法错误:n已经声明过了)

console.log(m);
console.log(n);

 

  <3>声明与使用顺序不同

// var 声明的变量会全局存储
// let 声明的变量只能在执行后才存储

console.log( x ); //没有报错,输出:undefined
var x = "苹果";

console.log(y); //y is not defined(y没有定义)
let y = "香蕉";

 

2 const声明常量

const 声明常量,为只读变量

  1. 一旦声明之后,其值是不允许改变的

  2. 一但声明必须初始化,否则会报错 SyntaxError: Missing initializer in const declaration(语法错误,声明常量丢失了初始化)

const PI = 3.14;
PI = 3.1415; //Assignment to constant variable.(声明的是常量)

console.log( PI );

 

3 解构赋值

  解构赋值是对赋值运算符的扩展

  它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

  解构,顾名思义,就是将集合型数据进行分解,拆分,把里面的值逐一遍历获取

  在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取