gpt4 book ai didi

javascript - 是否可以提取符号的内容?

转载 作者:行者123 更新时间:2023-12-03 05:33:21 24 4
gpt4 key购买 nike

我想制作一个将字符串映射到符号的字典,以便我可以为对象分配一个始终指向唯一符号的唯一“t”属性。

我不知道如何将符号内的原始字符串从符号中取出,以便我可以查找符号表来检查符号的有效性。

这是示例代码:

var t = {
'Box': Symbol("Box")
};

var Box = (function() {
var Box = function(x) {
this.t = t['Box'];
this.x = x;
};

return Box;
})();

var q = new Box(2);
console.log(q);
console.log(q.t);

我想知道是否可以在不使用正则表达式或创建包含字符串“Box”和符号“Box”的新结构的情况下从符号 Symbol(Box) 中获取字符串“Box” (这可能是最好的第二个解决方案)。

最佳答案

您应该在 Symbol 基元中使用 forkeyFor 成员如果将字符串传递给 for 方法,它会在全局注册表中搜索该字符串,如果发现该字符串已被注册,则会检索该字符串的值,否则会注册该字符串keyFor 检索符号的值。将无效参数传递给 keyFor 将引发错误 >> Symbol.keyFor(arg) ,arg 必须是符号例如

'use strict';
let myName = Symbol.for('victory');
console.log(Symbol.keyFor(myName)); // 'victory'

您的解决方案

var t = {
'Box': Symbol.for("Box")
};

var Box = (function() {
var Box = function(x) {
this.t = t['Box'];
this.x = x;
};

return Box;
})();

var q = new Box(2);
console.log(q);
console.log(Symbol.keyFor(q.t));

关于javascript - 是否可以提取符号的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40836209/

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