gpt4 book ai didi

javascript - 有没有更好的方法将 const 函数添加到 javascript 对象?

转载 作者:行者123 更新时间:2023-11-30 07:52:33 24 4
gpt4 key购买 nike

现在,我正在做这样的事情:

var myObject = {}

const action = () => {
console.log("say hello")
}

myObject.act = action

这导致输出:

say hello

但是有没有更快的方法来做到这一点,比如 const lambda(或其他)?

很像:

// This is psuedocode.
myObject.myConstAction = const lambda (){
console.log("I won't change.")
}

我希望属性 .myConstAction 不能被重新分配或覆盖。

最佳答案

您弄错了代码的作用。

action 是一个常量,它的值不能改变。

myObject.act 被分配了 action 值的副本(即对同一函数的另一个引用)。 myObject.act 没有什么不变的。


您可以将函数分配给 act 并使该属性只读,如下所示:

var myObject = {}
Object.defineProperty(myObject, "act", {
value: action = () => {
console.log("say hello");
},
writable: false
});

myObject.act();
// The next line has no effect because the property is not writable
myObject.act = () => console.log("Overwritten!");
myObject.act();

关于javascript - 有没有更好的方法将 const 函数添加到 javascript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49585644/

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