У овом упутству ћете научити о ЈаваСцрипт часовима уз помоћ примера.
Часови су једна од карактеристика представљених у ЕС6 верзији ЈаваСцрипт-а.
Класа је нацрт објекта. Можете створити објекат из класе.
О класи можете размишљати као о скици (прототипу) куће. Садржи све детаље о подовима, вратима, прозорима итд. На основу ових описа градите кућу. Кућа је објект.
Пошто се многе куће могу направити од истог описа, можемо створити многе предмете из класе.
Креирање ЈаваСцрипт класе
ЈаваСцрипт класа је слична функцији конструктора Јавасцрипт и представља само синтаксички шећер.
Функција конструктора је дефинисана као:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Уместо да користите function
кључну реч, користите је class
за креирање ЈС класа. На пример,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
Кључна class
реч се користи за стварање класе. Својства су додељена у функцији конструктора.
Сада можете да направите објекат. На пример,
// creating a class class Person ( constructor(name) ( this.name = name; ) ) // creating an object const person1 = new Person('John'); const person2 = new Person('Jack'); console.log(person1.name); // John console.log(person2.name); // Jack
Овде су person1
и персон2 објекти Person
класе.
Напомена : constructor()
Метода унутар класе аутоматски се позива сваки пут када се објекат креира.
Јавасцрипт класе методе
Док користите функцију конструктора, методе дефинишете као:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Лако је дефинисати методе у ЈаваСцрипт класи. Једноставно дајете назив методе праћене ()
. На пример,
class Person ( constructor(name) ( this.name = name; ) // defining method greet() ( console.log(`Hello $(this.name)`); ) ) let person1 = new Person('John'); // accessing property console.log(person1.name); // John // accessing method person1.greet(); // Hello John
Напомена : Да бисте приступили методи објекта, потребно је да позовете методу користећи његово име иза којег следи ()
.
Геттерс анд Сеттерс
У ЈаваСцрипт-у, геттер методе добијају вредност објекта, а методе постављача постављају вредност објекта.
ЈаваСцрипт класе могу укључивати гетере и постављаче. Користите get
кључну реч за методе set
добијања и за методе постављања. На пример,
class Person ( constructor(name) ( this.name = name; ) // getter get personName() ( return this.name; ) // setter set personName(x) ( this.name = x; ) ) let person1 = new Person('Jack'); console.log(person1.name); // Jack // changing the value of name property person1.personName = 'Sarah'; console.log(person1.name); // Sarah
Подизање
Пре употребе треба дефинисати класу. За разлику од функција и других ЈаваСцрипт декларација, класа није подигнута. На пример,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Као што видите, приступ класи пре него што је дефинишете баца грешку.
„користи строго“
Часови увек следе „строго коришћење“. Сав код унутар класе је аутоматски у строгом режиму. На пример,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Напомена : ЈаваСцрипт класа је посебна врста функције. И typeof
оператер се враћа function
по класу.
На пример,
class Person () console.log(typeof Person); // function