不管“if([])”是什么,它似乎不是假的
What `if ([ ])` turns out to be,it seems not falsy
我从之前的代码运行中得到一个空数组,我想检查它是否在if语句中为空,我使用
if (emptyArr) {
//do something here.
}
一开始收到了一些奇怪的结果,现在我知道我应该用if (emptyArr.length === 0 ) {}
代替,但只是出于好奇,上面的代码块结果是什么?
空数组仍然是对象,并且对象引用始终是if
谓词中的true
。因此
if ([]) alert("hello world");
总是会触发警报
typeof []
"object"
因此if({})
为真,if([])
也为真。
这是一个关于为什么对象是真的问题
相关文章:
- javascript中if(变量)的确切否定是什么
- 这个if语句在javaScript中是什么意思
- 简单的javascript IF语句 - 正确的语法是什么
- if 和 else 语句处理的顺序是什么
- while和for循环的目的是什么,if代码中的语句
- if(!window.Sys)在JS文件中是什么意思
- 在函数中编写2个if else语句的正确方法是什么
- 用javascript实现if-then-else-if-else堆栈的更简单方法是什么
- 什么是“;if(!''.replace(/^/,String))“;做
- if(!sequence.hardPaused)是什么意思?
- 检查多个空值的最佳方法是什么?例如if(foo.bar.giz.mo.)X === 123)
- 这个'OR'的正确语法是什么?和& # 39;和# 39;in this 'IF'声明
- if (typeof window !== 'undefined')的目的是什么?
- Javascript: if语法中额外的零是什么?
- 这个评论是什么/*@cc_on@*/0在javascript中的if语句内部执行
- 在javascript中,if语句以}结尾到底是什么意思?
- 不管“if([])”是什么,它似乎不是假的
- ""的正确语法是什么;OR";内部条件";IF"
- 带有嵌套if/else语句的循环的javascript没有执行,不确定是什么'It’出了问题
- 当 && 在 Javascript 中,当它在 if 语句之外时是什么意思?(里面的上下文)