【发布时间】:2021-05-09 10:13:55
【问题描述】:
有没有比使用新的 ES10 功能(如 Nullish Coalescing)更短的方法来检查 JavaScript 中的值是 null 还是 undefined?
(value !== null && value !== undefined)
还有其他问题,比如
- Detecting an undefined object property in JavaScript
- How to determine if variable is 'undefined' or 'null'
- Is there a standard function to check for null, undefined, or blank variables in JavaScript?
但它们都使用松散相等 (==)、使用 jQuery 或返回 false,即使值为 ""、[] 或 0。
【问题讨论】:
-
value == null没有错 -
eslint是否可以防止这种情况发生?eqeqeqESLint 规则有smart选项来允许这种类型的使用:eslint.org/docs/rules/eqeqeq -
我猜还有
((value ?? null) !== null)? -
@jcalz
(value ?? null) !== null可能有效,但非常奇怪。我不建议编写这样的代码,这只是混乱的根源。value == null简短、准确、众所周知且惯用语。 ES2020 对此没有任何改变。 -
@Bergi 同意!我不打算推荐它。
标签: javascript typescript ecmascript-6