Javascript 什么';使用方法和设置器有什么区别?

Javascript 什么';使用方法和设置器有什么区别?,javascript,setter,Javascript,Setter,例如: var person = { firstName: "John", lastName : "Doe", language : "", set lang(lang) { this.language = lang.toUpperCase(); } }; person.lang = "en"; console.log(person.language) var person1 = { fir

例如:

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "",
  set lang(lang) {
  this.language = lang.toUpperCase();
}
};

person.lang = "en";
console.log(person.language)

var person1 = {
 firstName: "John",
 lastName : "Doe",
 language : function(a){return a.toUpperCase()}
};
console.log(person1.language('en'))

这看起来完全一样,而且方法模式的编写也较少,所以为什么我应该使用setter?

与getter方法一起,我们还可以创建setter方法,用于重新分配对象中现有属性的值。setter方法的一个示例:

const person={
_年龄:37岁,
设定年龄(新年龄){
if(newAge的类型=='number'){
这个时代=新时代;
}否则{
log('您必须为年龄分配一个数字');
}
}

};它看起来完全一样吗?一个像属性赋值一样使用,另一个像函数一样调用。另外,这两个例子做的事情并不相同。看看这篇文章,这能回答你的问题吗?