Расширение JavaScript с помощью ключевых слов - PullRequest
4 голосов
/ 02 октября 2009

Мой Google по этому вопросу не увенчался успехом, поэтому вот вопрос:

Мне интересно, возможно ли добавить собственные ключевые слова для расширения языка JavaScript в заданной среде.

Например

Object1 extends Object2

в коде приведет к выполнению этого метода

inherit(Object1, Object2)

Где унаследовать - это функция, которая заботится о копировании прототипа, добавлении конструктора родителя и т. Д.

Это выполнимо? Если так, то как? Если нет, то есть ли другой хороший способ сделать это?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 02 октября 2009

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

Я бы обычно не связывался с Крокфордом, но у него на самом деле есть вполне приличное покрытие этого , которое даст вам синтаксис вида foo.inherits(bar);, который примерно так хорош, как можно было бы пожелать. Это довольно распространенная модель.

3 голосов
/ 05 января 2013

Для этой цели было разработано несколько систем макросов JavaScript, включая sweet.js. Используя систему макросов Sweet.js , вы можете заменить одно ключевое слово другим (например, заменив ключевое слово function на ключевое слово def). Однако для запуска сценариев sweet.js сначала необходимо скомпилировать их в JavaScript с помощью компилятора sweet.js.

0 голосов
/ 02 октября 2009

Невозможно добавить новые ключевые слова в JavaScript, нет. Вы можете создать свой собственный красивый интерфейс для создания классов, хотя, возможно, черпая вдохновение в одном из множества библиотек, фреймворков и наборов инструментов, уже там!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...