javascript - Javascript,当我们为字符串长度等只读数据属性赋值时会发生什么?
问题描述
假设我们有一个字符串,长度是字符串的只读数据属性。如果我们无意中为字符串的长度属性赋值会发生什么?为什么 javaScript 会返回这些值作为结果?
例如,如果我们运行这部分代码:
var str="test";
console.log(str.length)
console.log(str.length=3)
输出应该是这样的:
4
3
第三行代码返回 3,我的问题是为什么 JavaScript 中的赋值返回操作数的右侧而不是左侧?
解决方案
赋值运算符总是返回右边的值。因此,在 console.log 函数中传递表达式会返回右侧值,在您的情况 3 中。
为字符串的长度属性分配任何值都没有效果。
let myString = "Hello,World!";
myString.length = 4;
console.log(myString);
// expected output: "Hello,World!"
console.log(myString.length);
// expected output: 12
推荐阅读
- c# - 如何从树视图上的 HierarchicalDataTemplate 中删除项目
- node.js - Firebase 中的身份验证问题 - 为什么我的令牌会立即过期?
- node.js - 您如何以编程方式退出事件中的 node.js/express 路由?
- typescript - 从类型联合定义打字稿函数签名
- sql - 如何在 BigQuery 中取消嵌套和旋转两列
- html - 使用 fontawesome css 格式化
- angular - PrimeNG:单击 p-dropdown 的 li 元素
- python - 在 docker 镜像中使用 python 和 python 模块安装
- azure - AKS Kube 代理不公开指标
- sql - Bigquery - 行到列