gpt4 book ai didi

javascript - JavaScript 中的 "read/write variable"是什么意思?

转载 作者:行者123 更新时间:2023-11-28 17:28:38 26 4
gpt4 key购买 nike

我正在阅读《JavaScript:权威指南》一书。

在第 3.4 节中,它说,

In ECMAScript 3, undefined is a read/write variable, and it can be set to any value. This error is corrected in ECMAScript 5 and undefined is read-only in that version of the language.

读/写变量到底是什么意思?

最佳答案

如果某个东西是“读/写”的,则意味着您既可以读取它也可以写入它。与只读变量(您无法写入它)或只写变量(您无法读取它;相当不寻常,但完全可能)形成对比。

在 JavaScript 中,变量默认是读/写的。事实上,直到 ES2015,所有真正的变量都是读/写的。在 ES2018 中,我们有了 const,它可以让你创建一个只读的“变量”(“常量”),但它仍然是一个“变量”(规范中称之为绑定(bind)/em>)以所有其他方式。

但是,即使在 const 之前,也可以通过创建全局对象的只读属性来创建只读全局“变量”:

// A global scope, this refers to the global object
Object.defineProperty(this, "answer", {
value: 42,
writable: false // this is the default, including it here for emphasis
});
console.log("answer = ", answer); // 42
answer = 67; // Would be an error in strict mode
console.log("answer = ", answer); // still 42

这是可行的,因为全局对象的属性可以作为全局变量访问。

关于javascript - JavaScript 中的 "read/write variable"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50968369/

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