6
Benim adım parametremi çalışan sınıfımda alamıyorum! Neden this is not undefined
gibi hata alıyorum bilmiyorum! this
geçerli nesne için geçerlidir! İsim parametremi nasıl çıkaracağım?Bu, javascript sınıfı yapıcısında tanımlanmamış bir hata mı?
class Person {
constructor(n, a) {
var p = this;
p.n = n;
p.a = a;
p.total = 0;
p.a.map(x => p.total += parseInt(x)); //get total salary
}
firstName() {
return this.n = "Min Min ";
}
displayMsg() {
return " and My yearly income is " + this.total;
}
}
class Employee extends Person {
constructor(name, age) {
this.name = name;
}
lastName() {
return this.name;
}
Show() {
return "My name is " + super.firstName() + this.lastName() + super.displayMsg();
}
}
emp = new Employee("David", [123, 456, 754]);
console.log(emp.Show());
Gerçek Çıktı
Uncaught ReferenceError: this is not defined
Beklenen Çıktı
My name is Min Min David and My yearly income is 1333
Ben Firefox 48.0a2 olsun gerçek hata 'ReferenceError geçerli: | bu | Çalışan sınıfı oluşturucuda başlatılmamış olarak kullanılır. – Xufox
Yinelenen sorunun cevabını gördüm ve test ettim! Ama '.map' işlevinde hata alın. –
Şimdi sorun yok, cevabım altında sorumu çözdüm! Sadece yinelenen sorunun cevabının OP'imi çözmediğine işaret ediyorum. –