Классы в JAVASCRIPT
У языка Javascript достаточно непривычный для программистов синтаксис, особенно, если раньше они писали определенные программы, пользуясь PHP, Python, а также, C# или Java. Создание класса в Javascript требует определенных знаний, которые можно получить после прочтения данной статьи.
Исторические факты
Javascript разработали в середине 1995 года, проектом занимались специалисты из компаний Netscape, а также Sun Microsystems. На начальном этапе возникли сложности с выбором названия - проект окрестили "Mocha", но затем появились варианты LiveScript и JavaScript, было принято решение остановиться на втором варианте.
Компания ECMA стандартизировала Javascript, после чего он получил название ECMAScript.
Относительно недавно появился новый стандарт Javascript ECMAScript 6 с сильно измененным синтаксисом. Можно отметить появление в синтаксисе class, а также других слов, которые более понятны ООП программистам. Но сегодня есть большая проблема с браузерами, которые не могут поддерживать данный стандарт и, вероятно, только к 2020 году это будет исправлено.
Если вам не терпится ознакомиться с особенностями ECMAScript 6 - можно прибегнуть к помощи TypeScript, языку программирования, который разработала компания Майкрософт.
Создание класса в JavaScript с использованием ООП стиля
Сегодняшний стандарт Javascript не поддерживает привычных классов, что заставляет создавать имитацию, чтобы было удобнее писать определенный код.
Ниже на примерах покажем, как будут выглядеть классы, созданные в разных языках программирования.
Java:
public class Human {
String name;
public Human(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public static void main(String[] args) {
Human human = new Human("John");
human.setName("Eddie");
System.out.println(human.getName());
}
}
Если рассматривать класс Human, можно выделить конструктор, принимающий String параметр имя при создании класса. Можно заметить setter, а также getter - возможность устанавливать и возвращать переменную name.
Рассмотрим язык Javascript, как здесь создать такой же класс:
// construct
function Human(name){
this.name = name;
}
// setter
Human.prototype.setName = function(name){
this.name = name;
};
// getter
Human.prototype.getName = function(){
return this.name;
};
/* --------------------------- */
var human = new Human("John");
human.setName("Eddie");
alert(human.getName());
Из примера видно, что создание класса в Javascript позволяет сделать код более удобным и читаемым, а это значительно упрощает работу программисту и делает прочтение чужого кода более быстрым.
Выводы
В классическом Javascript нет поддержки привычных классов, на простых примерах мы показали, как можно создать имитацию класса в Javascript, чтобы сделать работу с кодом более удобной. Изучить особенности синтаксиса и научиться писать программы на языке программирования Javascript может каждый.