从个人来说,我从来不主动写 undefined,也会要求团队这么做。在 ts 里能用 void 或 never 的尽量不用 undefined,在 eslint 里也会设置 no-undefined。此外,当判断一个值是不是 undefined 时,应该用 typeof xx === 'undefined',如果既要判断 undefined 又要判断 null,那么就用 xx == null。 理由如下: 1、undefined 是一个合法的变量名(真要命)。
2、字面意义上,null 是“空值”,undefined 是“未定义”,所以如果需要传递一个空值,用 null 更合适。
3、js 会在很多时候自动产生 undefined,这种时候显式地写一个 undefined 是多此一举。 |