gpt4 book ai didi

javascript - 数组和对象是 Javascript 中唯一的非基元吗?

转载 作者:行者123 更新时间:2023-12-01 00:11:59 25 4
gpt4 key购买 nike

两周多以来,我一直在对这个主题进行大量研究,我只是问这个问题,因为 MDN's documentation on mutability说只有数组和对象不是原始值,当然这是真的,它们具有引用值。

但是,我认为函数字符串对象日期RegEx也有引用值(value),因为它们也是非原始的。例如,如果我们在字符串基元上使用 slice(),javascript 会自动将其转换(重新分配)为字符串对象,现在它是可变的,因为单词“snow”通过重新分配变成了“know”。这不适用于 const,因为它会禁用重新分配。

let word = 'snow'
console.log(word) // "snow"
word = `k${word.slice(1)}`
console.log(word) // "know"

所以我猜测要么 MDN 是错误的,要么是很多其他资源,例如 dotnettricks甚至一些 javascript 认证指南都是错误的......

最佳答案

MDN 没有错 - 函数、Date 和 RegEx 都是对象。

此外,字符串仍然是原始的。

let a = 'snow';
let b = a;
a = 'know';
console.log(b); // snow

关于javascript - 数组和对象是 Javascript 中唯一的非基元吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60020147/

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