2.3 KiB
2.3 KiB
解构赋值
选择
- 下面代码执行后 a,b,c的值分别是
let [a, b, c] = [1, 2, 3];
A.1,2,3 B.2,3,1 C.未定义 D.undefined undefined undefined
答案 A 解析 在解构中,有下面两部分参与: 解构的源,解构赋值表达式的右边部分。 解构的目标,解构赋值表达式的左边部分。
- 下面代码执行后 a,b,c的值分别是 code
let [a, [[b], c]] = [4, [[5], 6]];
A.4 [5] 6 B.[4, 5], 6 undefined undefined C.4,5,6 D. 4,[[5], 6]
答案 C
- 下面代码执行后 a,b的值分别是 code
let [a, , b] = [1, 2, 3];
A.1,2 B.1,3 C.2,3 D.1,3
答案 D
- 下面代码执行后 a,b的值分别是 CODE
let [a = 1, b] = []; // a = 1, b = undefined
A.1 undefined B. 1 报错 C.[] D. undefined undefined
答案 A
- 下面代码执行后 a b的值分别是 code
let [a, ...b] = [1, 2, 3];
A. 1; 2,3 B. 1;[1,2,3] C.1,[2,3] D.1,[]
答案 C
- 下面代码执行后 a,b,c,e,d的值分别是 code
let [a, b, c, d, e] = 'hello';
A h,e,l,l,o B.h,e,l,o,l C. 所有的都是undefined D. 所有的都是空数组
答案 B
- 下面代码执行后 a的值为 code
let [a = 2] = [undefined]; // a = 2
A.2 B.undefined C.[] D.报错
答案 A
- 下面代码执行后foo,bar 的值分别是 code
let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
A. foo bar B.aaa,bbb C.foo bbb D.aaa bar
答案 B
- 下面代码执行后foo 的值为 code
let { baz : foo } = { baz : 'ddd' };
A. baz B.foo C.ddd D.undefiend
答案 C
- 下面代码执行后X 的值为 code
let obj = {p: ['hello', {y: 'world'}] };
let {p: [x, { }] } = obj;
A.hello B.world C.p D.obj
答案 A
- 下面代码执行后x,y 的值分别为 code
let obj = {p: [{y: 'world'}] };
let {p: [{ y }, x ] } = obj
A.undefined undefined B. obj world C. 报错 obj D.undefined world
答案 D
- 下面代码执行后a,b,rest 的值分别为 code
let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
A. 10 20 30,40 B.10 20 [30,40] C. 10 20 [] D.undefined undefined []
答案 B
- 下面代码执行后aa,bb 的值分别为 code
let {a: aa = 10, b: bb = 5} = {a: 3};
A. 3 5 B.10 5 C. 3 undefined D. 报错