Нативные классы в JavaScript были добавлены в ES6 (или ES2015) как средство для связывания данных и функций вместе. Они позволяют нам создать определяемый пользователем тип данных, состоящий из собственных уникальных элементов данных и функций-членов, доступ к которым можно получить в коде с помощью их экземпляров (или объектов).
Подход: чтобы определить новый класс в Ember.js, мы должны использовать ключевое слово class вместе с именем класса. Затем мы должны объявить переменные класса и функции-члены внутри фигурных скобок «{}». Мы также можем записать значения параметров класса по умолчанию, используя встроенную функцию конструктора. После этого мы можем создать объект этого класса, используя ключевое слово «new» и инициализируя значения конструктора в параметре определения объекта, например — new Car(carName, carModel, carColor); где переменные в скобках являются параметрами объявления объекта.
Синтаксис:
// Class declaration class name_of_class { constructor(something, random) { this.something1 = something1; this.random2= random2; } }
Мы можем определить 6 типов элементов в определенном классе в Ember.js:
- Class Constructor
- Member Data Fields (Variables)
- Member Functions
- Accessors (Getters and Setters)
- static
- Decorators
Пример 1
Javascript
// Defining the class
class Car {
// Initializing a constructor
constructor(name, model, color) {
this
.name = name;
this
.model = model;
this
.color = color;
}
// Defining a member function
print() {
console.log(`Name of Car: ${
this
.name}`);
console.log(`Model of Car: ${
this
.model}`);
console.log(`Color of Car: ${
this
.color}`);
}
}
// Declaring parameter variables
let carName =
"BMW"
;
let carModel =
"E6"
;
let carColor =
"Matte Black"
;
// Creating an instance of the class
let randomCar =
new
Car(carName, carModel, carColor);
// Printing the output to the console
randomCar.print();
Выход:
Вывод примера определения класса Ember.js 1
Пример 2
Javascript
// Defining the class
class Dog {
// Initializing a constructor
constructor(name, breed) {
this
.name = name;
this
.breed = breed;
}
// Defining a member function
print() {
console.log(`Name of Dog: ${
this
.name}`);
console.log(`Breed of Dog: ${
this
.breed}`);
}
}
// Declaring parameter variables
let dogName =
"Tommy"
;
let dogBreed =
"German Shepherd"
;
// Creating an instance of the class
let randomDog =
new
Dog(dogName, dogBreed);
// Printing the output to the console
randomDog.print();
Выход:
Вывод примера определения класса Ember.js 2