почему класс зарезервированное слово в JavaScript? - PullRequest
26 голосов
/ 23 сентября 2011

Я планирую реализовать интерфейс наследования классов с использованием JavaScript. class является идеальным словом в качестве имени конструктора.

class = function (classname) {}; // create a class with classname
classA = new class("classA"); // create a class named classA

К сожалению, class - зарезервированное слово в JavaScript.

Почему JavaScript резервирует слово class (поскольку оно никогда не использует его)?

Ответы [ 5 ]

27 голосов
/ 23 сентября 2011

Зарезервировано для перспективного ECMAScript

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

Не беспокойтесь, если вы используете лучшие практики в своих скриптах Java, вы помещаете все доступные функции / переменные / конструкторы в пространство имен, что позволит вам использовать все, что угодноимя, которое вы хотели бы:

foo = {};
foo['class'] = function(){...code...};
var myClass = new foo['class']();
8 голосов
/ 23 сентября 2011

Языки развиваются.Целесообразно зарезервировать несколько ключевых слов, которые могут быть использованы позже. В соответствии со стандартом ECMA , class является зарезервированным словом будущего.

Если вы не зарезервировали их, введение новых ключевых слов может конфликтовать с существующим кодом (который уже может использовать словодля других вещей).Произошло с Java и assert.

5 голосов
/ 23 декабря 2015

Теперь используется в Спецификация языка ECMAScript® 2015 :

class Foo {
    constructor(bar) {
        this.bar = bar;
    }
}
new Foo(10).bar; // 10
4 голосов
/ 23 сентября 2011

class зарезервировано как будущее ключевое слово согласно спецификации ECMAScript

Зарезервированные слова - MDN

2 голосов
/ 23 сентября 2011

Это так, что поддержка может быть добавлена ​​в будущем, не нарушая существующие программы. Пожалуйста, взгляните на следующую запись .

Вы также можете посмотреть на

https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words

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