programing

자바스크립트에서 예약된 키워드

codeshow 2023. 10. 19. 22:52
반응형

자바스크립트에서 예약된 키워드

어떤 자바스크립트 키워드(함수명, 변수 등)가 예약되어 있습니까?

자바스크립트에 예약된 키워드를 모두 포함한 제 시는 점수를 매기는 것뿐만 아니라 현재 정직한 사람들에게 바칩니다.

Let this long package float, 
Goto private class if short.
While protected with debugger case,  
Continue volatile interface.
Instanceof super synchronized throw, 
Extends final export throws.  

Try import double enum?  
- False, boolean, abstract function, 
Implements typeof transient break!
Void static, default do,  
Switch int native new. 
Else, delete null public var 
In return for const, true, char
…Finally catch byte.

우리는 구글의 최고 히트작이 아니라 실제 정보원과 연결해야 합니다.

http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Reserved_Words

JScript 8.0: http://msdn.microsoft.com/en-us/library/ttyab5c8.aspx

benc의 답변을 보충하려면 표준 ECMA-262를 참조하십시오.이것들은 공식적으로 유보된 단어들이지만, 기준을 존중하기 위해 시행을 무시하는 소아일 뿐입니다.가장 인기 있는 구현의 예약어, 즉 파이어폭스와 인터넷 익스플로러에 대해서는 benc의 답변을 참조하십시오.

EMCScript-262에서 예약된 단어는 키워드, Future Reserved Words, NullLiteralBooleanLiteral이며, 여기서 키워드는

break     do        instanceof  typeof
case      else      new         var
catch     finally   return      void
continue  for       switch      while
debugger  function  this        with
default   if        throw
delete    in        try

미래유보어는

abstract  export      interface  static
boolean   extends     long       super
byte      final       native     synchronized
char      float       package    throws
class     goto        private    transient
const     implements  protected  volatile
double    import      public 
enum      int         short

Null Literal 은

null

Boolean Literals는

true
false

자바스크립트와 jQuery에서 이 내용을 읽고 있었습니다. 누락된 설명서:

이러한 예약된 단어 모두가 모든 브라우저에서 문제를 일으키지는 않지만 변수 이름을 지정할 때는 이러한 이름을 사용하지 않는 것이 좋습니다.

자바스크립트 키워드: break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with.

나중에 사용할 수 있도록 예약: abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield.

브라우저에 미리 정의된 전역 변수: alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window.

자바스크립트 엔진에서 특정 문자열이 키워드로 취급되는지 여부를 확인할 수 있는 브라우저 및 언어 버전에 구애받지 않는 방법이 있습니다.솔루션의 핵심을 제공하는 이 답변에 공을 돌립니다.

function isReservedKeyword(wordToCheck) {
    var reservedWord = false;
    if (/^[a-z]+$/.test(wordToCheck)) {
        try {
            eval('var ' + wordToCheck + ' = 1');
        } catch (error) {
            reservedWord = true;
        }
    }
    return reservedWord;
}

현재 답변 중 어느 것도 ES-Dialction에 관계없이 브라우저는 ES가 지시하는 것 위에 예약된 키워드, 메소드 등의 자체 목록을 갖는 경향이 있음을 경고하지 않습니다.

예를 들어 IE9는 다음과 같은 논리적 이름의 사용을 금지합니다.addFilter,removeFilter(이들은 다른 것들 중에서도 예약된 메소드입니다.)

IE9와 관련된 보다 광범위한 '현재 알려진' 목록은 http://www.jabcreations.com/blog/internet-explorer-9 을 참조하십시오.저는 아직 msdn(또는 다른 곳)에서 그들에 대한 공식적인 언급을 찾지 못했습니다.

다음은 언플러그런트 자바스크립트 북의 목록입니다.

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extend
  • false
  • finally
  • for
  • function
  • if
  • implements
  • import
  • in
  • instanceof
  • interface
  • let
  • new
  • null
  • package
  • private
  • protected
  • public
  • return
  • static
  • super
  • switch
  • this
  • throw
  • true
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

벤츠의 답변은 훌륭하지만, 제 의견으로는 w3 학교의 페이지가 마음에 듭니다.

http://www.w3schools.com/js/js_reserved.asp

표준에 의해 예약된 키워드를 나열하는 것 외에도 특정 맥락에서 피해야 할 키워드의 긴 목록이 있습니다. 예를 들어, 이름을 사용하지 않는 것입니다.alert브라우저에서 실행할 코드를 작성할 때.특정 단어가 키워드가 아님을 알면서도 편집기에서 키워드로 강조되는 이유를 파악하는 데 도움이 되었습니다.

언급URL : https://stackoverflow.com/questions/26255/reserved-keywords-in-javascript

반응형