【发布时间】:2016-01-07 13:06:33
【问题描述】:
对于在 JavaScript 中使用 const 可以设置哪些类型的值有任何限制,尤其是函数?这是有效的吗?当然,它确实有效,但出于任何原因,它是否被认为是不好的做法?
const doSomething = () => {
...
}
应该在 ES6 中以这种方式定义所有函数吗?如果是这样的话,这似乎没有流行起来。
【问题讨论】:
-
您似乎问了多个问题:1)“我很感兴趣,如果在 JavaScript 中使用 const 可以设置哪些类型的值有任何限制” 2) “这有效吗?” 是的。 3) “无论出于何种原因,它都被认为是不好的做法吗?” 我想它存在的时间还不够长,无法对此发表任何看法,但我不明白为什么这应该是垫练习。它与
var doSomething = <function def>;没有太大区别。 4) “所有函数都应该在 ES6 中以这种方式定义吗?” 对我来说似乎很麻烦。我喜欢函数声明。每个人都是自己的。 -
在我看来(观点,不是事实),如果你想禁止重新定义函数,这是有道理的。无论它是理智的,还是它是否有一些功能用途——这是值得商榷的。如果您认为它适合您的使用场景,我不认为有人会争论您的决定并认为这是不好的做法。
-
我想问题是你想用
const实现什么。您想防止自己覆盖该功能吗?我假设你知道你的代码无论如何都不要这样做。你想表达doSomething的意图,即它拥有一个函数并且不改变它的值吗?我认为函数声明也清楚地传达了这个意图。因此,如果您需要“运行时保护”以防止覆盖,那就去做吧。否则我看不到太多好处。当然如果你主要使用var foo = function() {};,我会使用const而不是var。 -
@FelixKling,“我假设你知道你的代码无论如何都不要这样做。” - 这是一个非常糟糕的论点。否则,
const毫无意义。 -
我想补充一点,使用
const而不是function来定义“函数”是可读性的回归。在中断 4 到 5 年之后,我刚刚再次启动 JS,遇到了一堆const来声明function代码,它正在破坏我的大脑。
标签: javascript function constants ecmascript-6