Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 太多的变量声明是否会对性能产生重大影响?_Javascript_Typescript_Code Readability - Fatal编程技术网

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) {}