es6学习二:变量的解构赋值

变量的解构赋值:

数组的解构赋值:

let [a,b,c] = [1,2,3];
// let [a,b,c] = [,123,];
// let [a=111,b,c] = [,123,];
console.log(a,b,c);

// let [a,b,c] = [1,2,3];
let [a,b,c] = [,123,];
// let [a=111,b,c] = [,123,];
console.log(a,b,c);

// let [a,b,c] = [1,2,3];
// let [a,b,c] = [,123,];
let [a=111,b,c] = [,123,];
console.log(a,b,c);

相当于原生js的:

var a = 1;
var b = 2;
var c = 3;
var a = 1,b = 2,c = 3

对象的解构赋值:

let {foo,bar} = {foo : 'hello',bar : 'hi'};
// let {foo,bar} = {bar : 'hi',foo : 'hello'};
console.log(foo,bar);

// let {foo,bar} = {foo : 'hello',bar : 'hi'};
let {foo,bar} = {bar : 'hi',foo : 'hello'};
console.log(foo,bar);

对象属性别名(如果有了别名,那么原来的名字就无效了)

// 对象属性别名(如果有了别名,那么原来的名字就无效了)
let {foo:abc,bar} = {bar : 'hi',foo : 'nihao'};
console.log(abc,bar);

let {foo:abc,bar} = {bar : 'hi',foo : 'nihao'};
// console.log(abc,bar);
console.log(foo,bar);

let {foo:abc='hello',bar} = {bar : 'hi'};
console.log(abc,bar);

内置对象的解构赋值:

let {cos,sin,random} = Math;
console.log(typeof cos);
console.log(typeof sin);
console.log(typeof random);
console.log(cos);
console.log(sin);
console.log(random);

字符串的解构赋值:

let [a,b,c,d,e,length] = "hello";
console.log(a,b,c,d,e);
console.log(length);

怎么样得到字符串的长度:

let {length} = "hi";
console.log(length);

猜你喜欢

转载自blog.csdn.net/zerobaek/article/details/84345789