ES6知识点-变量及赋值

1、声明变量

  var:全局变量声明;

  let:局部变量声明;

  const:常量声明;const声明的变量始终不变。

2、变量赋值

  解构:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值

  注:在解构中,undefined和null是不一样的,undefined意思为空,不解构;null是可以解构,变量会赋值null

  A:数组解构

  例如:let [a,b,c]=[1,2,3],意思是let a=1;let b=2; let c=3;

  等号左边和等号右边的形式要统一,如果不统一解构将失败。

  解构的默认值:let[flag=true]=[]; console.log(flag),打印出的是true

  let [a,b="我是谁"]=['你好'console.log(a+b); //控制台显示“你好我是谁”

  B:对象解构

let {foo,bar} = {foo:'hello',bar:'ES6'};

  console.log(foo+bar); //控制台打印出了“helloEs6”

  注意:对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

  C:字符串解构

let [a,b,c,d]='code'
console.log(a);//控制台输出c
console.log(b);//控制台输出o
console.log(c);//控制台输出d
console.log(d);//控制台输出e

  这是因为,此时字符串被转换成了一个类似数组的对象

  D:圆括号的使用

  如果在解构之前就定义了变量,这时候你再解构会出现问题。

let foo;
{foo} ={foo:'Code'};
console.log(foo); //编译报错

进行代码修改:

let foo;
({foo} ={foo:'Code'});
console.log(foo); //控制台输出Code

 

posted @ 2018-03-08 17:03  糊涂兔  阅读(309)  评论(0编辑  收藏  举报