javascript - TypeScript 中以下条件有什么区别?

标签 javascript arrays typescript conditional-statements truthiness

if (!value || value.length<1) 
if (value.length<1)

这两个条件有什么区别?不是一样吗?

最佳答案

不,它们完全不同。

!value

这会检查某个项目是否存在并且它不是未定义的,而是 ![] and also ![3]这总是错误的。基本上它会检查是否存在。

甚至[]永远正确。

length

计算该数组内的元素数量,并且它纯粹应用于数组。

对于[] , value.length<1 this returns true.

关于javascript - TypeScript 中以下条件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61587583/

相关文章:

typescript - 使用字符串变量作为属性名称的动态类型

TypeScript:Promise.all 不处理联合类型

javascript - 开 Jest 测试 'unexpected token export'

javascript - 将 Canvas 导出到 SVG 文件

ios - 编码器 : unrecognized selector sent to instance

Java : Object access with private fields

typescript - TS 找不到模块

javascript - 防止CKEditor过滤掉 "tel"协议(protocol)

javascript - 在 Chrome 中禁用 'Use Password for' 自动完成

javascript - 将新属性推送到循环内的当前对象