- 从ES6的解构赋值角度:
let [a,b="js"] = [1,undefined]; console.log(a,b); // undefined相当于什么都没有,b是默认值。 let [c,d="js"] = ["js",null]; console.log(c,d); // null相当于有值,但值为null。所以b并没有取默认值,而是解构成了null。
2.阮一峰:
undefined:归根究底是作为变量定义时,未赋值;
null:有值,但为空。
let [a,b="js"] = [1,undefined]; console.log(a,b); // undefined相当于什么都没有,b是默认值。 let [c,d="js"] = ["js",null]; console.log(c,d); // null相当于有值,但值为null。所以b并没有取默认值,而是解构成了null。
2.阮一峰:
undefined:归根究底是作为变量定义时,未赋值;
null:有值,但为空。