2009-10-01 3 views
4

My Google-ки на это было неудачным, так вот вопрос:Расширение Javascript с ключевыми словами

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

Например

Object1 extends Object2 

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

inherit(Object1, Object2) 

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

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

Спасибо.

ответ

3

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

Обычно я не связывался с crockford, но на самом деле он имеет quite a decent coverage of this, который предоставит вам синтаксис формы foo.inherits(bar);, который примерно такой же хороший, как можно было бы желать. Это довольно распространенная картина.

+0

Почему бы вам не позвонить в crockford? –

+3

Поскольку я не согласен с очень многими вещами, он говорит о моем любимом javascript, и я считаю, что его мнения часто повторяются без самостоятельного рассмотрения. – annakata

+0

@annakata Миллион раз это. Рад, что я не одинок по этому поводу. –

0

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

+0

На самом деле можно создавать ключевые слова для JavaScript с помощью sweet.js. См. Мой ответ на этой странице. :) –

3

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

Смежные вопросы