<MyRusakov.ru />

React JS, Redux, ES2015 с Нуля до Гуру

React JS, Redux, ES2015 с Нуля до Гуру

Данный курс - это обширный курс по JavaScript и фреймворку React, который позволит Вам с нуля создавать мощные современные, динамические JavaScript-приложения.

Вы узнаете о тонкостях работы с "профессиональным" JavaScript, а так же узнаете о нововведениях в его новый стандарт ES2015, Вы узнаете, как организовать профессиональное окружение для FrontEnd, изучите профессиональный фреймворк - ReactJS.

А в практической части с полного нуля будет создано мощное и быстрое динамическое приложение, где Вы на практике познакомитесь, как создавать очень гибкую и расширяемую архитектуру, для разработке функционала любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как работать с классами в EcmaScript 2015.

Как работать с классами в EcmaScript 2015.

Всем привет! В этой статье мы рассмотрим, как использовать классы в EcmaScript 2015 и стоит ли их вообще использовать?

Заметьте, что новые функции EcmaScript 2015 работают сейчас не везде. Если вы хотите их протестировать, то советую установить браузер Mozilla Firefox Nightly.

JavaScript всегда был непохожим на другие объектно-ориентированные языки программирования, однако с приходом новой версии эта отличительная черта становится все меньше. Если вы знаете, как создавать и использовать классы, к примеру, в PHP, то тут для вас все будет понятно.

Итак, вот, как создавать классы в JavaScript.

class Car {
  constructor(model) {
   this.model = model;
  }

  getModel() {
   return "The Model of The Car is " + this.model;
  }
}

Как видите, очень похоже на другие языки. Вызов также не выделяется.

var bmw = new Car("BMW");
alert(bmw.getModel());

Думаю, тут все понятно. Теперь поговорим о наследовании. Если вы хотите унаследовать какие-то свойства и методы другого класса, просто добавьте ключевое слово extends. А если вы хотите вызвать родительский метод, то используйте ключевое слово super. Вот как это выглядит на практике.

class Car {
  // code...
}

class Kia extends Car {
  constructor(model, autoPilot) {
   super.constructor(model);
   this.autoPilot = autoPilot;
  }

  getModel() {
   return super.getModel() + " and this is the best model";
  }
}

var kia = new Kia("Sportage", false);
alert(kia.getModel());

Тут тоже нет ничего сложного. И все, что нам осталось разобрать, это "геттеры" и "сеттеры". Что это и для чего нужны, вы уже должны знать, а если нет, то можете почитать о них в разделе PHP. Я же просто покажу пример использования.

class ClassSomething {
  constructor(something) {
   this.something = something;
  }

  get Something() {
   return this.something;
  }

  set Something(value) {
   this.something = value;
  }
}

var smth = new ClassSomething("something");
alert(smth.something);
smth.something = "something here";

Ну, что же. Мы разобрались, как работают классы в EcmaScript 2015. В конце стоит лишь сказать, что на самом деле javascript все так же использует объекты и прототипы, а не настоящие классы. Такой синтаксис был сделан лишь для того, чтобы людям, возможно, было легче читать и писать код, но ООП, к которому большинство из программистов привыкло, как не было, так и нет. Стоит ли использовать такой синтаксис? Решать Вам!

А у меня на этом все. Спасибо за внимание!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (2):

benom benom 05.08.2015 10:29:37

Благодарю

Ответить

tihon0 tihon0 21.09.2016 13:13:14

Наследование свойств родительского класса (Car) классом Kia в приведенном примере происходит неверно. В объявлении конструктора класса Kia вместо сроки * super.constructor(model); * неободимо указать * super(model); * В противном случае консоль выдает ошибку и пишет, что нельзя вызывать методы super перед вызовом самого super. Удивляет, что статье больше года, и на эту ошибку до сих пор никто не указал. Интересно, эти статьи вообще читают?

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.