gpt4 book ai didi

javascript - javascript中的对象是什么?

转载 作者:行者123 更新时间:2023-11-30 08:46:37 25 4
gpt4 key购买 nike

据说都是javascript中的对象。但我发现像 null、undefined、true、'foo' 这样的原始值不是对象。是真的吗?

什么是javascript中的对象,什么是javascript中的非对象?原始值到底是多少?

如果我理解以下内容是正确的?

var str1 = "hello world!"; // primitive value
var str2 = String("hello world!");// object value

最佳答案

JavaScript 有两类值

  • Primitives - 数字、字符串、 bool 值、未定义、空值

  • Objects - 所有其他值,包括数组和函数

基元和对象之间的一个主要区别是基元不可变并且自定义/临时属性不能分配给基元值。


number、string、boolean 原始类型都有对应的Object 类型:Number、String 和Boolean。但是,undefined 或 null 没有相应的对象类型——这些值是孤独的单例。

关联类型包含 [prototype],当应用隐式转换时,它允许基元以其他方式“表现得像”对象,在这些对象上可以调用方法。例如,"foo".trim() 调用 String.prototype.trim功能。

数字/字符串/ bool 函数,当用作构造函数时,也可以作为适用原始值的转换

"foo"                       // is string (primitive)
String("foo") // is string (primitive)
new String("foo") // is String (object)
"foo" === String("foo") // -> true
"foo" === new String("foo") // -> false

通常应该使用原始类型以避免混淆。

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

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