首页 > 解决方案 > 打字稿中变量之间的区别

问题描述

这在 Typescript 中意味着什么。
“!option”“option”不一样???

const limit = !options.limit || options.limit === NaN ? 0 : options.limit

标签: javascripttypescript

解决方案


关于您更新的代码:

const limit = !options.limit || options.limit === NaN ? 0 : options.limit
  • 如果options.limitfalsy,这将设置limit = 0。否则,它将使用options.limit
  • 第二个条件不是必需的,因为NaN它是一个虚假值。它已经处于!options.limit状态。
  • 此外,options.limit === NaN永远不是真的,即使options.limitNaN。您需要使用isNaN()Number.isNaN()检查NaN

您当前的代码相当于:

const limit = options.limit || 0.

推荐阅读