JavaScript کلاس

ECMAScript 2015، بھی کہا جاندا اے ES6، جاوااسکریپت کلا لائی.

JavaScript کلا جاوااسکریپت آوبجیکٹ کا منجمانی بندبند اے.

JavaScript کلا کی گرامر

请使用关键字 class 创建一个类。

请始终添加一个名为 constructor() 的方法:

ਸ਼ਾਸਤਰ

class ClassName {
  constructor() { ... }
}

ਇੰਸਟੈਂਸ

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

上面的例子创建了一个名为 "Car" 的类。

该类有两个初始属性:"name" 和 "year"。

JavaScript کلاس不是对象。

它是 JavaScript 对象的模板

使用类

当您有了一个类时,可以使用该类来创建对象:

ਇੰਸਟੈਂਸ

let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);

ਖੁਦ ਦੋਹਰਾਓ

上面的例子使用 Car 类来创建两个 Car 对象

在创建新对象时会自动调用构造方法(constructor method)。

构造方法

构造方法是一种特殊的方法:

  • 它必须有确切的名称的 “constructor”
  • 创建新对象时自动执行
  • 用于初始化对象属性
  • ਤੁਸੀਂ ਜੇਕਰ constructor ਨਹੀਂ ਦਿੱਤਾ ਹੈ ਤਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਖਾਲੀ constructor ਜੋੜ ਦੇਵੇਗਾ:

ਵਰਗ ਦੀ ਮੈਥਡ

ਵਰਗ ਦੀ ਮੈਥਡ ਦੇ ਸ਼ਾਸਤਰ ਨੂੰ ਆਪਣੇ ਆਪ ਜਿਸ ਤਰ੍ਹਾਂ ਦੇ ਹੋਵੇ ਵਰਗ ਦੀ ਮੈਥਡ ਦੇ ਸ਼ਾਸਤਰ ਨਾਲ ਮਿਲਾਓ:

ਵਰਗ ਬਣਾਉਣ ਲਈ ਕੀਵਾਰਡ class ਵਰਤੋਂ:

ਹਰ ਸਮੇਂ constructor() ਮੈਥਡ ਜੋੜੋ:

ਫਿਰ ਕਿਸੇ ਵੀ ਸੰਖਿਆ ਦੀ ਮੈਥਡ ਜੋੜ ਸਕਦੇ ਹੋ:

ਸ਼ਾਸਤਰ

class ClassName {
  constructor() { ... }
  method_1() { ... }
  method_2() { ... }
  method_3() { ... }
}

ਇੱਕ ਨਾਮ "age" ਵਾਲੀ ਵਰਗ ਦੀ ਮੈਥਡ ਬਣਾਓ ਜਿਸ ਵਲੋਂ ਕਾਰ ਦੇ ਸਾਲ ਲੱਭੋ:

ਇੰਸਟੈਂਸ

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    let date = new Date();
    return date.getFullYear() - this.year;
  }
}
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";

ਖੁਦ ਦੋਹਰਾਓ

ਤੁਸੀਂ ਵਰਗ ਦੀ ਮੈਥਡ ਨੂੰ ਪੈਰਾਮੀਟਰ ਭੇਜ ਸਕਦੇ ਹੋ:

ਇੰਸਟੈਂਸ

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age(x) {
    return x - this.year;
  }
}
let date = new Date();
let year = date.getFullYear();
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";

ਖੁਦ ਦੋਹਰਾਓ

ਬਰਾਊਜ਼ਰ ਸਮਰਥਨ

ਹੇਠਲੇ ਸਾਰੇ ਪੱਧਰ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਰਗ ਦੀ ਪਹਿਲੀ ਸਮਰਥਿਤ ਬਰਾਊਜ਼ਰ ਵਰਜਨ ਦਿਸਾਈ ਹੈ:

ਚਰੋਮ IE ਫਾਇਰਫਾਕਸ ਸਫਾਰੀ ਓਪਰਾ
ਚਰੋਮ 49 ਐਜ਼ ਪੋਰਟਰੇਟ 12 ਫਾਇਰਫਾਕਸ 45 ਸਫਾਰੀ 9 ਓਪਰਾ 36
2016 ਮਾਰਚ 2015 ਜੁਲਾਈ 2016 ਮਾਰਚ 2015 ਅਕਤੂਬਰ 2016 ਮਾਰਚ

"use strict"

ਕਲਾਸ ਵਿੱਚ ਗਰੈਫਿਕਸ ਨੂੰ “ਸਖਤ ਮੋਡ” ਵਿੱਚ ਲਿਖਣਾ ਹੋਵੇਗਾ。

ਤੁਸੀਂ “ਸਖਤ ਮੋਡ” ਦੀਆਂ ਨਿਯਮਾਂ ਨਾ ਲੈਣ ਵਾਲੇ ਹੋਣ ਤਾਂ ਤੁਹਾਨੂੰ ਗਲਤੀ ਸੁਣਾਈ ਜਾਵੇਗੀ。

ਇੰਸਟੈਂਸ

“ਸਖਤ ਮੋਡ” ਵਿੱਚ, ਤੁਸੀਂ ਇੱਕ ਵਾਰ ਵਰਤੇ ਗਏ ਵਾਰੀਅਬਲ ਨੂੰ ਐਲਾਨ ਨਹੀਂ ਕਰੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਗਲਤੀ ਮਿਲੇਗੀ:

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // ਇਹ ਨਹੀਂ ਕੰਮ ਕਰੇਗਾ
    let date = new Date(); // ਇਹ ਕੰਮ ਕਰੇਗਾ
    return date.getFullYear() - this.year;
  }
}

ਖੁਦ ਦੋਹਰਾਓ

ਵਿੱਚ JS ਸਖਤ ਮੋਡ “ਸਖਤ ਮੋਡ” ਬਾਰੇ ਹੋਰ ਕੀ ਸਿੱਖੋ