【问题标题】:Javascript, what happens when we assign value to read-only data property such as string length?Javascript,当我们为字符串长度等只读数据属性赋值时会发生什么?
【发布时间】:2021-12-15 10:43:26
【问题描述】:

假设我们有一个字符串,长度是字符串的只读数据属性。如果我们无意中为字符串的长度属性赋值会发生什么?为什么 javaScript 会返回这些值作为结果?

例如,如果我们运行这部分代码:

var str="test";
console.log(str.length)
console.log(str.length=3)

输出应该是这样的:

4
3

第三行代码返回3,我的问题是为什么javaScript中的赋值返回操作数的右侧而不是左侧?

【问题讨论】:

标签: javascript variable-assignment readonly-attribute


【解决方案1】:

赋值运算符总是返回右边的值。因此,在 console.log 函数中传递表达式会返回右侧值,在您的情况下为 3。

将任何值赋给字符串的长度属性均无效。

let myString = "Hello,World!";

myString.length = 4;

console.log(myString);
// expected output: "Hello,World!"

console.log(myString.length);
// expected output: 12

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多