Open1
Js分割代入
Q. aは何か?
const obj = {};
const {a = []} = obj;
A. a === [];
Q. aは何か?
const obj = {a: null};
const {a = []} = obj;
A. a === null;
javascriptではfalsyな値と判定された場合に初期値を入れる記述があるが、a || [] など。分割代入の場合は、undefinedの場合のみ指定した値がセットされる。nullなどはfalsyな値だが、この場合はnullがセットされる。プロパティが存在しているので当たり前ですが。