gpt4 book ai didi

javascript - JS ES6 中的动态变量访问

转载 作者:行者123 更新时间:2023-12-02 23:00:20 25 4
gpt4 key购买 nike

我目前正在为js的Array.prototype.sort()编写一个比较函数。现在的问题是:我有一个对象实例 a ,其中包含我想要排序的变量和函数。我昨天了解到我可以访问像这样的函数(我有方法名称)a['fct']()

所以我想做的是这样的

a['fct'] (typeof a['fct'] === 'function' ? () : nothing)

所以我基本上想如果它是一个函数就执行它,如果它是一个变量就将它用作变量。我想省略具有相同排序逻辑的整个 block ,因此我想保留它的三元运算符风格。这可能吗?

最佳答案

你应该这样做:

typeof a["fct"] == "function" ? a["fct"]() : a["fct"]
<小时/>

您还可以使用可选链接,如my other answer how to use it像:

a["fct"]?.()

如果a["fct"]是一个函数,则这将调用方法,否则从a["fct"]得到结果。

关于javascript - JS ES6 中的动态变量访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815943/

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