Мова програмування JavaScript: структура, можливості, вивчення

Прототипи замість класів

JS застосовують прототипи замість класів для використання спадкування. Можна емулювати багато функцій, що надаються класами в об’єктно-орієнтованих мовах, через прототипи.

Функції також ведуть себе, як конструктори. Префікс виклику з ключовим словом new створює новий екземпляр прототипу, який успадковує властивості і методи від конструктора, включаючи властивості Object. ECMAScript 5 пропонує метод Object.create, що дозволяє створення екземпляра без необхідності автоматичного наслідування від Object. У більш ранніх середовищах може бути утворений прототип, створений, як null. Властивість prototype конструктора визначає об’єкт, для внутрішнього новостворюваного прототипу. Нові методи можуть бути додані шляхом зміни прототипу об’єкта, як конструктора.

Середовище виконання

Мова програмування JavaScript зазвичай залежить від середовища виконання, наприклад, у веб-браузері, щоб пропонувати об’єкти і методи, за допомогою яких скрипти можуть взаємодіяти з «зовнішнім світом». Фактично, це залежить від середовища, що забезпечує можливість включення або імпорту сценаріїв, наприклад, в HTML за допомогою тега. Це не мовна функція, але вона поширена в більшості реалізацій JS.

У неї може бути передано невизначену кількість параметрів. Вона отримує доступ до них через параметри або локальний об’єкт arguments. Функція variádicas можуть бути створені за допомогою методу .apply(). На відміну від багатьох об’єктно-орієнтованих мов, немає відмінності між визначенням функції та методи. Швидше воно відбувається під час виклику функції, яка може бути виконана, як метод з ключовим словом this – локальної змінної для об’єкта, що викликав функцію.

Як і в багатьох мовах сценаріїв, масиви та об’єкти можуть створюватися з скороченим синтаксисом, тому розробнику завжди знадобиться під рукою підручник мови програмування JavaScript. Фактично ці літерали складають основу формату даних JSON. JavaScript також підтримує регулярні вирази аналогічно Perl, які забезпечують короткий і потужний синтаксис для обробки тексту, більш складний, ніж функції, вбудовані в рядкові об’єкти.