gpt4 book ai didi

javascript - 在字符串上定义 getter

转载 作者:行者123 更新时间:2023-11-30 11:23:43 26 4
gpt4 key购买 nike

我知道您不能在字符串上调用 Object.defineProperty,但我想知道是否有解决方法可以在字符串上定义 getter?

换句话说,我正在寻找一个能够做这样的事情的解决方法:

Object.defineProperty("Some string", "prop", {
get: () => {
return "Some other string";
}
});

也许可以使用符号toPrimitive

注意:
我知道你可以做 "Some string".prop = "something" 但这不是我想要的,它与 getter 不同

最佳答案

您可以在 String.prototype 上添加 getter,但这是您唯一的选择。字符串值是原始值;只有对象可以有属性。如果你想要一个字符串上的 getter,它也必须出现在所有的字符串上。 (如果 this != "some value",你的 getter 可以选择什么也不做,但这当然适用于所有 "some value" 的字符串,而不是某些特定的字符串您创建的字符串。)

另请注意,"Some string".prop = "something" 在严格模式代码中执行时会抛出异常,其中还包括使用 显式标记为严格的类主体、模块和代码"use strict"; 在整个脚本或封闭函数的开头。

关于javascript - 在字符串上定义 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48846836/

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