作者:嘉心面包-1908 | 来源:互联网 | 2022-12-05 15:59
在Angualr中看到这些代码是很常见的:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app',
template: ''
})
export class App {
// we define variable here
data = [1, 2];
tempData = [3, 4]; //temporary data, not involved in view rendering
}
正如我们所看到的,临时变量不会涉及视图渲染,但临时变量对于我们的应用程序在临时存储数据的使用中也是必需的.
这样写的怎么样:
import { Component, OnInit } from '@angular/core';
const tempData = [3, 4]; //temporary data, not involved in view rendering
@Component({
selector: 'app',
template: ''
})
export class App {
// we define variable here
data = [1, 2];
}
由于临时变量不会在视图渲染中使用,我可以在类之外定义它.在我看来,它会优化性能(因为它减少角度的检测变量,我不知道它是否正确).
那么哪种代码风格更好,它们之间有性能差异?
1> T.J. Crowder..:
在您的第一个示例中,您的类的tempData
每个实例都有一个(它不是变量,它是属性).在你的第二个例子中,一个 tempData
被你的类的所有实例重用(在这种情况下,它不是属性,它是一个常量).
您使用哪种方法取决于您是需要每个实例tempData
还是共享实例.
如果它是私有信息并且您不需要将它作为每个实例,则在模块的顶层声明它绝对没问题.它将是该模块的私有内容.
那么哪种代码风格更好,它们之间有性能差异?
两者都不是更好; 他们是不同的,做不同的事情,所以你根据自己的需要使用其中一个.它们之间的任何性能差异都是完全可以忽略不计的,没有什么可以去思考的.