gpt4 book ai didi

javascript - boolean 对象有什么意义?

转载 作者:行者123 更新时间:2023-12-02 22:26:19 27 4
gpt4 key购买 nike

我正在通读 JavaScript 的 Mozilla 手册,在阅读中我发现了这一点,Boolean object 。我看不出它们有任何用途。他们的观点是什么?为什么不只使用 truefalse

顺便说一句,我根本不懂 Java,而且我并不害怕学习新事物,这就是我尝试学习 JavaScript 的原因。我是一名 PHP 程序员,一名后端人员,我想学习如何做一些前端工作,所以我正在阅读 Mozilla JavaScript Guide .

最佳答案

因为这就是语言的定义方式(有点可悲)——我怀疑它最初是为了性能/优化;请注意下面分配给 string 属性的情况。 (Java 的工作原理类似,尽管 Scala 和 Python 在很大程度上拒绝这种区别)。

请注意,Boolean 并不是唯一的“包装类型”。例如,还有 StringNumber

因此,仍然存在许多怪癖(以下内容同样适用于 boolean 值):

typeof("foo") // string
typeof(new String("foo")) // object
"foo" instanceof String // false
new String("foo") instanceof String // true

// result is undefined: a string is a primitive and silently "ate" the assignment
// this also makes it a much cheaper value as it's not a "real" object
x = "f"; x.bar = 42; x.bar

// result is 42: a String is a "real" object with real properties!
// however, this also means that it may have a good bit more overhead
x = new String("f"); x.bar = 42; x.bar

我知道这并没有“回答”问题,而是火上浇油;-)

除上述之外,唯一真正的“陷阱”是,也许 new Boolean(false) 是一个真实值。

祝你编码愉快。

关于javascript - boolean 对象有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132949/

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