machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Объектно-ориентирование в JavaScript

Дата публикации Oct 3, 2019

Ориентированное на JavaScript изображение с сайта code.tutusplus.com

«Объекты в JavaScript могут быть определены как неупорядоченный набор связанных данных, примитивных или ссылочных типов, в форме пар« ключ: значение ».Эти ключи могут быть переменными или функциями и называться соответственно свойствами и методами в контексте объекта.»

Объекты в JavaScript:

  • Даты
  • математический
  • Регулярные выражения
  • Массивы
  • функции
  • И объектывсегдаобъекты

«Создание приложений с объектами позволяет нам применять некоторые ценные методы, а именно:наследование(объекты могут наследовать особенности от других объектов),Полиморфизм(объекты могут совместно использовать один и тот же интерфейс - как они доступны и используются - в то время как их базовая реализация интерфейса может отличаться), иИнкапсуляция(каждый объект отвечает за конкретные задачи). »- Ричард Бовелл

Подводя итог,объектв JavaScript очень похож на объект в реальной жизни. У них есть свойства и действия, которые они могут иметь или выполнять, например, методы. Например: собаки лают, гуляют, играют и едят.В этом случае собака была бы моим объектом, а «лаять, ходить, играть и есть» - это методы, которые может выполнять этот объект собаки.

Итак, допустим, я делаю множество собак:

dogs = ['Riley', 'Bella', 'Snowball', 'Fluffy']

В моей консоли я могу вызвать несколько свойств этого массива Dogs.

Скриншот свойств для моего массива собак

Ниже я звоню.lengthа также.forEachна массиве собак и.toString()на первом элементе массива и вот результаты:

Снимок экрана: методы, вызываемые в массиве Dogs.

Я также могу создать объект с парой «ключ: значение»:

let school = {
name : "Flatiron School",
location : "Brooklyn",
established : "2012",
displayInfo : function(){
console.log(`${school.name} was established in
${school.established} at ${school.location}`)
}
}
// => "Flatiron School was established in 2012 at Brooklyn."

В этом примереname,location,displayInfoа такжеestablishedвсе ключи и их значения находятся справа от двоеточия. Как показано выше, я могу также помещать функции в объекты. МетодdisplayInfoиспользуется для работы с данными объекта, которые хранятся в его свойствах.

Конструкторы

Другой способ создания объектов - использовать конструктор Object. Конструктор, используемый в сочетании сnewпозволяет нам инициализировать новые объекты.

const school = new Object()
school.name = "Flatiron School"
school.location = "Brooklyn"
school.established = "2012"
school.displayInfo = function(){
console.log(`${school.name} was established in
${school.established} at ${school.location}`)
}
school.displayInfo()

Конструкторы инициализируются с параметрами, такими какnameа такжеlocationкоторые назначены как свойстваthis-который относится к самой функции,Это обеспечивает шаблон для создания объектов. Теперь, чтобы создать конструктор, мы используемnewособенность перед функцией.

function School(name, location){
this.name = name
this.location = location
}
new School("Flatiron School", "Brooklyn")// Adding a method to the constructorSchool.prototype.displayInfo = function() {
console.log(`${school.name} was established in
${school.established} at ${school.location}`)
}

Классы

Новая и более краткая функция, представленная в JavaScript ECMAScript 6 - ES6, - это классы. ES6 делает описанный выше процесс еще лучше, используя специальные методы конструктора:

class School{
constructor(name, location){
this.name = name
this.location = location
} // Adding a method to the constructor displayInfo() {
console.log(`${school.name} was established in
${school.established} at ${school.location}`)
}
}

Классы похожи на многократно используемые чертежи объекта, а синтаксис упрощен. Единственная разница междуfunctionsа такжеclassesчто инициализация используетclassключевое слово вместоfunction, присваивая свойства внутриconstructor()метод дляclassи добавивmethodконструктору.

Может потребоваться время, чтобы оценить объектно-ориентированное программирование, но благодаря преимуществам его простоты и согласованности ООП сделает вашу жизнь проще.

~ Счастливое кодирование ~

Ссылки:

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map