gpt4 book ai didi

javascript - typeof 关键字的行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:35 24 4
gpt4 key购买 nike

了解 typeof 关键字并需要一些说明:

在进行故障排除时,我将此代码输出到控制台:

console.log(typeof object.prop[someNum - 1]);

(在本例中 sumNum === 0)

控制台打印出 undefined 这是我所期望的,因为 prop[] 数组中的索引位置 [someNum - 1] 没有' 存在(所以我想)。但是当我做这样的事情时:

if(typeof object.prop[someNum - 1])
//some code
else
//other code

它评估为 true 并运行 //some code 但是当我这样做时:

if(object.prop[someNum - 1])
//some code
else
//other code

它评估为 false 并运行 //other code

我的印象是 undefined 被认为是一个 falsy 值,并且会在 if 语句 中评估为 false。为什么 if(typeof object.prop[someNum - 1]) 语句评估为真?也有人可以指出我在哪里可以了解更多关于 js 负索引数组的正确方向吗?它们在 c#、c++、java 和 php 等多种语言中的处理方式相同吗?我认为在评估负的 array 索引号时,它会被 underfined 或抛出错误。

最佳答案

typeof 总是返回一个字符串。

因此,您正在编写 if ("undefined")

因为非空字符串是真实的,所以 if 会运行。

关于javascript - typeof 关键字的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com