gpt4 book ai didi

javascript - 如何获取对象的 Symbol 属性

转载 作者:行者123 更新时间:2023-11-29 21:40:31 24 4
gpt4 key购买 nike

我执行了以下代码

var x={};
x[Symbol("a")] = "a";
x.d = "d";

当我在浏览器控制台中尝试时

console.log(x); //Object {d: "d", Symbol(a): "a"}

JSON.stringify(x); //"{"d":"d"}"

var a=Symbol("a");
console.log(x[a]); //undefined

console.log(x['a']); //undefined

I'm little bit confused how will I get the second attribute of variable x which is a symbol

最佳答案

您需要先恢复这些符号。

var x = {};
x[Symbol("a")] = "a";
x.d = "d";
symbols = Object.getOwnPropertySymbols(x);

console.log( symbols ); //will output [Symbol("a")]

由于符号用于调试,它们不会显示为普通属性,即使在正常迭代对象时也是如此。

要获取 Symbol 的值,一旦获取了 Symbols 属性,您可以执行以下操作:

console.log( x[ symbols[0] ] );

这是 JSFiddle:http://jsfiddle.net/730q04bw/1/

关于javascript - 如何获取对象的 Symbol 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118304/

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