用Javascript创建setter
我想在JS中创建一个setter。但我的代码有点问题,这是我的代码:用Javascript创建setter,javascript,Javascript,我想在JS中创建一个setter。但我的代码有点问题,这是我的代码: 类测试{ 建造师(str){ this.name=str; } 集合名称(str){ 这个。sayHi(); } (){ 设temp=this.name; log(`My name is${temp}`) } } 设a=newtest('bill')//我的名字未定义 a、 sayHi()//我的名字未定义请尝试以下操作: class test { constructor(str) { this.name = s
类测试{
建造师(str){
this.name=str;
}
集合名称(str){
这个。sayHi();
}
(){
设temp=this.name;
log(`My name is${temp}`)
}
}
设a=newtest('bill')//我的名字未定义
a、 sayHi()//我的名字未定义
请尝试以下操作:
class test {
constructor(str) {
this.name = str;
}
set name(str) {
this._name = str
}
sayHi() {
let temp = this.name;
console.log(`My name is ${temp}`)
}
get name() {
return this._name
}
}
请尝试以下方法:
class test {
constructor(str) {
this.name = str;
}
set name(str) {
this._name = str
}
sayHi() {
let temp = this.name;
console.log(`My name is ${temp}`)
}
get name() {
return this._name
}
}
您的setter需要将值存储在某个位置;您还需要一个getter从该位置获取值 下面是一个将值存储在另一个属性中的简单示例:
类测试{
建造师(str){
这个。_name=str;//***
//(您可以在此处使用'this.name=str',setter有时是
//被认为是中“不调用方法”的一个例外
//“构造函数”规则)
}
集合名称(str){
这个。_name=str;//***
}
获取名称(){//***
返回此。\u name;//***
} // ***
(){
设temp=this.name;
log(`My name is${temp}`)
}
}
设a=newtest('bill')//我的名字未定义
a、 sayHi()//我的名字未定义
您的setter需要将值存储在某个地方;您还需要一个getter从该位置获取值
下面是一个将值存储在另一个属性中的简单示例:
类测试{
建造师(str){
这个。_name=str;//***
//(您可以在此处使用'this.name=str',setter有时是
//被认为是中“不调用方法”的一个例外
//“构造函数”规则)
}
集合名称(str){
这个。_name=str;//***
}
获取名称(){//***
返回此。\u name;//***
} // ***
(){
设temp=this.name;
log(`My name is${temp}`)
}
}
设a=newtest('bill')//我的名字未定义
a、 sayHi()//我的名字是未定义的
,因为你没有在setter中设置任何东西。console.log('My name's'+this.name)
,因为你没有在setter中设置任何东西。console.log('My name's'+this.name)
@Li357否则你会得到无限的recursion@dorintufar我没看到,我的bad@Li357否则你会得到无穷大recursion@dorintufar我没有看到,我的宝贝谢谢你的解释:)我是JavaScript新手,我不知道如何正确使用setter和getter,有什么信息吗?谢谢你的解释:)我是JavaScript新手,我不知道如何正确使用setter和getter,有什么信息吗?谢谢你的解释:)我是JavaScript新手,我不知道如何正确使用setter和getter,有什么信息吗?谢谢你的解释:)我是JavaScript新手,我不知道如何以正确的方式使用setter和getter,是否有相关信息?