javascript 자바스크립트란 - 자바 스크립트에서 클래스가 예약어 인 이유는 무엇입니까?





프로토타입 메모리 (6)


앞으로도 기존 프로그램을 손상시키지 않고 지원을 추가 할 수 있습니다. 다음 post .

당신도 볼 수 있습니다.

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

JavaScript를 사용하여 클래스 상속 인터페이스를 구현할 계획입니다. class 는 생성자의 이름으로 완벽한 단어입니다.

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

불행히도 class 는 JavaScript에서 예약어입니다.

왜 JavaScript는 (결코 사용하지 않기 때문에) class 라는 단어를 보유합니까?




미래 보장형 ECMAScript에 예약되어 있습니다.

다음 단어는 제안 된 광고 확장에서 키워드로 사용되므로 향후 광고 확장을 채택 할 수 있도록 예약되어 있습니다.

걱정하지 마세요. 자바 스크립트에서 모범 사례를 사용하고 있다면, 네임 스페이스에 접근 할 수있는 모든 함수 / 변수 / 생성자를 배치하면 원하는 이름을 사용할 수 있습니다.

foo = {};
foo['class'] = function(){...code...};
var myClass = new foo['class']();



언어가 진화합니다. 나중에 사용할 수있는 몇 가지 키워드를 예약하는 것이 좋습니다. ECMA 표준에 따르면 class 는 미래 예약어입니다.

예약하지 않은 경우 새 키워드를 도입하면 기존 코드와 충돌 할 수 있습니다 (이미 다른 단어를 사용하고있을 수 있음). 자바와 함께 일어 났고 assert .







class 는 ECMAScript 사양에 의해 미래 키워드로 예약됩니다.

예약어 - MDN




요소의 인스턴스가 여러 개인 경우 역순으로 루프를 수행하여 인덱스가 엉망이되지 않도록 할 수 있습니다.

var myElement = "chocolate";
var myArray = ['chocolate', 'poptart', 'poptart', 'poptart', 'chocolate', 'poptart', 'poptart', 'chocolate'];

/* Important code */
for (var i = myArray.length - 1; i >= 0; i--) {
    if (myArray[i] == myElement) myArray.splice(i, 1);
}

라이브 데모







javascript