es6中,const和let变量声明,对性能有区别吗?用const代替let?
发布于 7 年前 作者 lvgithub 5968 次浏览 来自 分享

es6中,const和let变量声明,对性能有区别吗?用const代替let(不需要改变的变量或者对象)是否合适

13 回复
  • 就绝大部分的应用来说,还轮不到抠这点性能的时候。
  • 尽可能用 const,如果你不知道啥时该用,装个 eslint,它会提醒你。

觉得const 意义不大,let 对于作用域的划分,还有意义啊。。。 const 偶尔用用,let 我已经广泛采用。const不能修改的是栈内存在的值和地址,这个和let 的作用不同的,代替还是不要了吧。。。省的自己挖坑。

表示这个帖子的题目是我第一个,一眼能看懂的哈哈哈哈 同意一楼说法,

来自酷炫的 CNodeMD

@cnlile js 的 const 并不是其他语言的常量的概念,按社区的实践,只要你引用不变,尽量用 const

@cnlile const 和 let 的作用域是一样的。只要变量不需要重新赋值,现在的趋势都是用 const,eslint 也有这个规则。

有一种说法是 const 略微多使用一些资源是因为需要检测判断const不被重复复制。 let比var性能好是创建局部作用域。 实际性能差距在2%以内。 https://jsperf.com/let-vs-var-performance/14 所以代码怎样书写方便阅读怎么写。

使用 const 主要是表示这个变量是常量不会变化(虽然对于对象来说其键名、键值是可以变化的),这个增加代码可维护性。

性能这个真的不要考虑太多,以绝大部分人的项目的程度,还达不到需要压榨这么一点性能的程度。 随着引擎的升级会解决掉的。

@jokerapi 你抛弃jslint和jshint了?

@atian25 是的,有时候扣这种语法性能扣个半天,不如升个node版本收益大。到时候会体验到强大的日狗感。

@alsotang 就目前我看到社区的一些代码,怎么说了,去研究 letconst 区别,还不如去研究下 readFilereadFileSync 的区别。

其实这俩都差不多一样的,区别在于语意上,如果用了用了const声明了,那就应该知道瞎改会出事儿,用了let的话就应该知道,这个可以改。

来自酷炫的 CNodeMD

回到顶部