Javascript JS吸气剂性能

Javascript JS吸气剂性能,javascript,performance,Javascript,Performance,我想知道,在JS中使用a是否会创建对该函数的引用,或者将其分配给变量并使用它会更有效 使用吸气剂 使用命名变量 getter是获取并返回对象内部属性的方法,允许您使用条件返回不同的值: const person={ _名字:“约翰”, _姓氏:“Doe”, 获取全名(){ if(this.\u firstName&&this.\u lastName){ 返回`${this.\u firstName}${this.\u lastName}`; }否则{ 返回“缺少名字或姓氏”; } } } //

我想知道,在JS中使用a是否会创建对该函数的引用,或者将其分配给变量并使用它会更有效

使用吸气剂 使用命名变量
getter是获取并返回对象内部属性的方法,允许您使用条件返回不同的值:

const person={
_名字:“约翰”,
_姓氏:“Doe”,
获取全名(){
if(this.\u firstName&&this.\u lastName){
返回`${this.\u firstName}${this.\u lastName}`;
}否则{
返回“缺少名字或姓氏”;
}
}
}
//调用getter方法:

person.fullName;/'John Doe'
您的两个代码片段不一样。每次访问属性时,都会延迟调用getter。第二个代码段在创建并存储对象时计算一次jamie的值。请注意,您的代码会产生两种不同的行为:getter在“调用时”求值,而using命名变量在“构造时”调用。在第一种情况下,每次调用
myObject.jamie
时,它都会计算函数,而在第二种情况下,只要创建
myObject
就计算
hutber
函数,我不明白getter“创建此函数的引用”是什么意思。getter是一个函数。但是,您不必显式地调用它,读取属性将执行该函数。无论您是作为
obj.foo
(getter)还是
obj.bar()
(方法调用)执行函数,我不确定调用中的差异是否重要。值得问问你自己——这真的是一个瓶颈吗?我想这是我在文档中遗漏的关键点。我假设/认为JS有可能创建getter函数,然后在每次调用对象时引用它。hutber也将在每次对象调用中执行,但是不必在每次调用中创建函数。。。我想这意味着它更快
{
   get jamie (){
      //runs some complex stuff
   }
}
const hutber = () => {
   //runs some complex stuff
}

{
   jamie: hutber()
}