JS-zelfstudie

JS HOME JS Introductie JS Waarheen? JS-uitgang JS-verklaringen JS-syntaxis JS-opmerkingen JS-variabelen JS Let JS Const JS-operators JS Rekenen JS-opdracht JS-gegevenstypen JS-functies JS-objecten JS-evenementen JS-snaren JS String-methoden JS String zoeken JS String-sjablonen JS-nummers JS-nummermethoden JS-arrays JS-array-methoden JS-array sorteren JS-array-iteratie JS Array Const JS-datums JS-datumnotaties JS Datum Ophaalmethoden Methoden voor het instellen van JS-datum JS Math JS Willekeurig JS Booleans JS-vergelijkingen JS-voorwaarden JS-schakelaar JS Loop For JS-lus voor binnen JS Loop For Of JS-lus terwijl JS Break JS-iteraties JS-sets JS-kaarten JS Typeof JS Type conversie JS Bitwise JS RegExp JS-fouten JS-bereik JS Hijsen JS strikte modus JS dit trefwoord JS-pijlfunctie JS-lessen JS JSON JS-foutopsporing JS-stijlgids JS-best practices JS-fouten JS-prestaties JS Gereserveerde Woorden

JS-versies

JS-versies JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-geschiedenis

JS-objecten

Objectdefinities Objecteigenschappen Objectmethoden Objectweergave Objectaccessoires Objectconstructeurs Objectprototypes Object-Iterables Objectsets Objectkaarten Objectreferentie

JS-functies

Functiedefinities Functieparameters: Functie-aanroep Functie-oproep: Functie Toepassen Functie Sluitingen

JS-lessen

Klas Intro Klasse Overerving Klasse Statisch

JS Asynchrone

JS-callbacks JS asynchroon JS belooft JS Async/Wachten

JS HTML DOM

DOM Intro DOM-methoden DOM-document DOM-elementen DOM HTML DOM-formulieren DOM-CSS DOM-animaties DOM-evenementen DOM-gebeurtenisluisteraar DOM-navigatie DOM-knooppunten DOM-collecties DOM-knooppuntlijsten

JS-browserstuklijst

JS-venster JS-scherm JS-locatie JS-geschiedenis JS-navigator JS pop-upwaarschuwing JS-timing JS-koekjes

JS Web API's

Introductie web-API Web Forms API Webgeschiedenis-API Webopslag-API Web Worker-API Web Fetch-API Webgeolocatie-API

JS AJAX

Ajax-intro AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

JS JSON

JSON-intro JSON-syntaxis JSON versus XML JSON-gegevenstypen JSON ontleden JSON Stringify JSON-objecten JSON-arrays JSON-server JSON PHP JSON HTML JSON JSONP

JS versus jQuery

jQuery-kiezers jQuery HTML jQuery CSS jQuery DOM

JS-graphics

JS-graphics JS Canvas JS Plotly JS Chart.js JS Google-kaart JS D3.js

JS-voorbeelden

JS-voorbeelden JS HTML DOM JS HTML-invoer JS HTML-objecten JS HTML-evenementen JS-browser JS-editor JS-oefeningen JS-quiz JS-certificaat

JS-referenties

JavaScript-objecten HTML DOM-objecten


JavaScript-klassen

ECMAScript 2015, ook bekend als ES6, introduceerde JavaScript-klassen.

JavaScript-klassen zijn sjablonen voor JavaScript-objecten.

JavaScript-klassesyntaxis

Gebruik het trefwoord classom een ​​klas aan te maken.

Voeg altijd een methode toe met de naam constructor():

Syntaxis

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

Voorbeeld

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

In het bovenstaande voorbeeld wordt een klasse gemaakt met de naam "Car".

De klasse heeft twee initiële eigenschappen: "naam" en "jaar".

Een JavaScript-klasse is geen object.

Het is een sjabloon voor JavaScript-objecten.


Een klas gebruiken

Als je een klasse hebt, kun je de klasse gebruiken om objecten te maken:

Voorbeeld

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

In het bovenstaande voorbeeld wordt de klasse Car gebruikt om twee Car-objecten te maken .

De constructormethode wordt automatisch aangeroepen wanneer een nieuw object wordt gemaakt.


De Constructor-methode

De constructormethode is een speciale methode:

  • Het moet de exacte naam "constructor" hebben
  • Het wordt automatisch uitgevoerd wanneer een nieuw object wordt gemaakt
  • Het wordt gebruikt om objecteigenschappen te initialiseren

Als u geen constructormethode definieert, voegt JavaScript een lege constructormethode toe.


Klasse Methoden

Klassemethoden worden gemaakt met dezelfde syntaxis als objectmethoden.

Gebruik het trefwoord classom een ​​klas aan te maken.

Voeg altijd een constructor()methode toe.

Voeg vervolgens een willekeurig aantal methoden toe.

Syntaxis

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

Maak een Klasse-methode met de naam "leeftijd", die de leeftijd van de auto retourneert:

Voorbeeld

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.";

U kunt parameters naar Class-methoden verzenden:

Voorbeeld

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.";


Browserondersteuning

De volgende tabel definieert de eerste browserversie met volledige ondersteuning voor klassen in JavaScript:

Chrome 49 Edge 12 Firefox 45 Safari 9 Opera 36
Mar, 2016 Jul, 2015 Mar, 2016 Oct, 2015 Mar, 2016


"gebruik strikt"

De syntaxis in klassen moet in "strikte modus" worden geschreven.

U krijgt een foutmelding als u de regels van de "strikte modus" niet volgt.

Voorbeeld

In "strikte modus" krijg je een foutmelding als je een variabele gebruikt zonder deze te declareren:

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // This will not work
    let date = new Date(); // This will work
    return date.getFullYear() - this.year;
  }
}

Lees meer over "strikte modus" in: JS Strikte modus .