Javascript 太多的变量声明是否会对性能产生重大影响?
出于可读性的考虑,我经常发现自己为手头已有的数据声明了新的变量,我想知道,这对性能有什么重大影响吗 我所做的示例: 而不是做:Javascript 太多的变量声明是否会对性能产生重大影响?,javascript,typescript,code-readability,Javascript,Typescript,Code Readability,出于可读性的考虑,我经常发现自己为手头已有的数据声明了新的变量,我想知道,这对性能有什么重大影响吗 我所做的示例: 而不是做: 简短回答:不,它不会对性能产生任何重大影响。一般来说,问题的答案是它会对性能产生影响吗?你测试时发现了什么 是的,它当然会对性能产生影响——但是为了产生显著的,甚至是可测量的影响,您需要声明很多变量 一般来说,最好的做法是尽量减少变量的数量,而不将它们用于不同的目的,以使人类更容易理解代码,在Javascript的情况下,有时创建对数据的更直接引用是一个好主意,以避免长
简短回答:不,它不会对性能产生任何重大影响。一般来说,问题的答案是它会对性能产生影响吗?你测试时发现了什么
是的,它当然会对性能产生影响——但是为了产生显著的,甚至是可测量的影响,您需要声明很多变量
一般来说,最好的做法是尽量减少变量的数量,而不将它们用于不同的目的,以使人类更容易理解代码,在Javascript的情况下,有时创建对数据的更直接引用是一个好主意,以避免长范围链的成本-但这已经开始偏离主题。这对性能有任何重大影响吗?-不,我一点也不担心。如果您获得任何性能,您将获得的性能可以忽略不计,并且将以降低可读性和维护性为代价,这肯定会削弱您的团队交付性能。无论谁说不同的话,都肯定是在优化错误的东西。在这一点上,几乎是强制性的阅读:如果用isAdult和hasChildren编写if语句,那么可读性要高得多,当您的if语句变得难以阅读时,第一个例子肯定是您应该去做的。我自己做的。你真的,真的,真的因为你定义了两个变量而遇到了性能瓶颈吗?如果没有,我很怀疑你会这样做,那就别想了。OP问的是javascript,而不是Java。@symcbean公平地说,我不认为在任何编程语言中多个声明都是重要的。现在,所有代码要么在编译时,要么甚至在执行时得到优化。内联是一种非常简单的优化方法,我怀疑额外的绑定是否真的那么重要。\Eh?那句话毫无意义。虽然更好的编译器会根据大小估计为地图分配不同的哈希大小,但这最终对解引用成本的影响很小。是的,这当然会对性能产生影响-[需要引用]。。。你为什么认为这会产生影响?这些类型的变量声明将由编译器内联。
const isAdult = this.data.person.age >= 18;
const hasChildren = this.data.person.hasChildren;
if (isAdult && hasChildren) {}
if(this.data.person.age >= 18 && this.data.person.hasChildren) {}