Typescript中的静态消息有什么用? (表现和记忆明智) 变量或方法?我们假设您需要数百个。 msg1或msg2()
import {Messages} from './messages';
export class MessagesEN implements Messages {
readonly msg1 = 'message one';
msg2(): string {
return 'hello second!';
}
}
答案 0 :(得分:0)
性能和内存方面,变量总是比函数更有效,因为执行的操作越少,stack中的操作就越少。
答案 1 :(得分:0)
从封装的角度来看,您的字段(又名msg1
)必须对客户端不可见,您需要让您的客户端使用操作的方法处理您的代码对象的数据并改变对象的状态。
从性能开始,访问该字段的速度要快一些,因为它会尝试查找字段并返回该字段。使用方法它可以做同样的事情并且也可以调用它:一个额外的操作。但在很多情况下,不改变其上下文的函数是inlined
,这使得它们可以更快地被访问。如果您在代码执行后更改该函数中的某些内容,则编译器无法对其进行优化,并且它将比字段访问更慢。
从记忆明智的角度来看,方法将从堆栈中获取更多内存然后字段
您可以看到 jsPerf 属性访问比方法访问更快。