Tasiri JavaScript ka samar da harsuna

Kula da wasu

Don anfa da kula da wasu, sami: extends Kananan yanki.

Anfani da samar da kula da wasu kula da samar da kula da wasu:

实例

Anfa da wasu "Model" dona ta zaiyana hanyar da "Car" kuma yana nuna yawa:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    return 'Anu wani ' + this.carname;
  }
}
class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    return this.present() + ', it is a ' + this.model;
  }
}
let myCar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = myCar.show();

亲自试一试

super() 方法引用父类。

通过在 constructor 方法中调用 super() 方法,我们调用了父级的 constructor 方法,获得了父级的属性和方法的访问权限。

Yana amfani da magudanarwa domin samar da code a cikin amfani da samarwa: domin amfani da cananin motoci da hanyoyin da suka amfani da su domin samarwa.

Getter da Setter

Kungiyar zai iya amfani da getter da setter.

A gina getter da setter don cananin zai iya samar da ilimi, kuma kuma an amfani da su domin samun kiyayewar cananin motoci.

Dominan gina getter da setter a cikin cikin kungiyar, amfani da get da set Kananan yanki.

实例

A gina hanyar getter da setter don cananin "carname":

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  get cnam() {
    return this.carname;
  }
  set cnam(x) {
    this.carname = x;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = myCar.cnam;

亲自试一试

注释:Duk da haka, kuma an amfani da getter a matsayin hanyar, ba a samar da kowa ba don samun kiyayewar cananin motoci.

Sunan hanyar getter/setter ba zai iya samun sunan cananin motoci ba, a cikin shi ne carname.

Duniya yana amfani da kananin yanki na gurbin cananin motoci don fahimtarwa:

实例

A gina ce gurbi na cananin motoci da kuma kiyayewa kananin yanki don fahimtarwa:

class Car {
  constructor(brand) {
    this._carname = brand;
  }
  get carname() {
    return this._carname;
  }
  set carname(x) {
    this._carname = x;
  }
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML = myCar.carname;

亲自试一试

Dominan gina ce gurbi na cananin motoci, kuma yana fada bai kowa:

实例

A gina ce gurbi na cananin motoci "Volvo":

class Car {
  constructor(brand) {
    this._carname = brand;
  }
  get carname() {
    return this._carname;
  }
  set carname(x) {
    this._carname = x;
  }
}
let myCar = new Car("Ford");
myCar.carname = "Volvo";
document.getElementById("demo").innerHTML = myCar.carname;

亲自试一试

Hoisting

与函数和其他 JavaScript 声明不同,类声明不会被提升。

这意味着您必须先声明类,然后才能使用它:

实例

//您还不能使用该类。
//myCar = new Car("Ford")
//This would raise an error.
class Car {
  constructor(brand) {
    this.carname = brand;
  }
}
//现在您可以使用该类:
let myCar = new Car("Ford")

亲自试一试

注释:对于其他声明,如函数,在声明之前尝试使用它时不会出错,因为 JavaScript 声明的默认行为是提升(将声明移到顶部)。