gpt4 book ai didi

javascript - 从对象符号中获取变量

转载 作者:搜寻专家 更新时间:2023-10-30 21:28:40 25 4
gpt4 key购买 nike

我有一个对象,当开发人员工具控制台检查它时,它看起来像这样:

console.log("clicked: ", clickedMarker);

enter image description here

如何获取 address 内容形式 Symbol(vars)

console.log("vars: ", clickedMarker["Symbol(vars)"]);
console.log("address: ", clickedMarker.address);
console.log("address2: ", clickedMarker["address"]);
console.log("vars2: ", clickedMarker["vars"]);
console.log("vars3: ", clickedMarker.vars);
console.log("Symbol(vars): ", clickedMarker._objectInstance["Symbol(vars)"]);

但这一切都出现了 undefined

编辑:这是一个 Typescript 应用程序,但 Javascript 解决方案运行良好。

最佳答案

问题很可能是您正在寻找字符串键而不是符号键。

要了解更多关于 Symbol 是什么的信息(无论如何它是 javascript 中的原语),请查看:https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Symbol

要解决此问题,请使用舒适的 toString 原型(prototype)找到正确的 Symbol,并使用通用 Object 的 getOwnPropertySymbols 方法:

// look for the symbol having key "vars" in the object's symbols list.
var mFound = Object.getOwnPropertySymbols(clickedMarker._objectInstance)
.find(e => e.toString() === "Symbol(vars)");
// Use the above symbol as the object's key.
var address = clickedMarker._objectInstance[mFound].address;

请记住,为了进一步的安全,您应该检查是否有效地找到了 mFound(因此不是未定义的,或者通常不是假的)。

关于javascript - 从对象符号中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47285445/

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