Javascript 예약어

자바스크립트 코딩을 하면서 문법이나 수식 등에 전혀 문제가 없는데도 실행이 되지 않고 에러가 발생하는 경우가 있다. 당연히 이런 경우에는 문제점을 발견하는데 시간이 아주 오래 걸린다. 드물지 않게 많은 이들이 변수나 함수 등을 생성하면서 자바스크립트가 예약한, 즉 사용하지 말라고 한 단어들을 사용해서 에러가 발생하는 경우가 있다. 대부분은 자신만의 코딩 규칙을 가지고 있으면 겪지 않을 수 있지만 만에 하나 이런 경우가 발생하면 몇 시간을 걸려 찾아 헤메고 나서 얼마나 허탈하겠는가.

이 글은 http://www.w3schools.com/js/js_reserved.asp 에 설명된 내용을 토대로 자바스크립트 예약어를 정리해보았다(거의 그대로 옮긴 것임).

 

 

자바스크립트에서는 일부 식별자들이 예약어로 되어 있어서 변수 이름이나 함수 이름으로 사용할 수 없다.

자바스크립트 표준

모든 최근의 브라우저들은 ECMAScript 3 (ES3, 자바스크립트 3 번째 버전, 1999)를 완벽하게 지원한다.

ECMAScript 4 (ES4) 는 적용된 적이 없다.

ECMAScript 5 (ES5, 2009년 발표)는 JavaScript의 가장 최근 발표된 공식 버전이다.

시간이 지남에 따라 모든 브라우저들은 ES5를 지원하고 있다.

 

자바스크립트 예약어

자바스크립트에서 아래의 예약어들은 변수명, 라벨(label), 함수명으로 쓸 수 없다.

abstract arguments boolean break byte
case catch char class* const
continue debugger default delete do
double else enum* eval export*
extends* false final finally float
for function goto if implements
import* in instanceof int interface
let long native new null
package private protected public return
short static super* switch synchronized
this throw throws transient true
try typeof var void volatile
while with yield

* 표시 된 것은 ECMAScript5에서 새로 추가된 것이다.

 

JavaScript Objects, Properties, and Methods

아래의 자바스크립트 내장 객체, 속성, 메소드 또한 사용하지 말아야 한다.

Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf

 

Java 예약어

JavaScript는 는종종 java와 함께 사용된다. 따라서 몇몇 java 객체와 속성들을 자바스크립트에서와 마찬가지로 사용하지 말아야 한다.

getClass java JavaArray javaClass JavaObject JavaPackage

 

Windows 예약어

다음 HTML과 Windows 예약어는 사용하지 말아야 한다.

alert all anchor anchors area
assign blur button checkbox clearInterval
clearTimeout clientInformation close closed confirm
constructor crypto decodeURI decodeURIComponent defaultStatus
document element elements embed embeds
encodeURI encodeURIComponent escape event fileUpload
focus form forms frame innerHeight
innerWidth layer layers link location
mimeTypes navigate navigator frames frameRate
hidden history image images offscreenBuffering
open opener option outerHeight outerWidth
packages pageXOffset pageYOffset parent parseFloat
parseInt password pkcs11 plugin prompt
propertyIsEnum radio reset screenX screenY
scroll secure select self setInterval
setTimeout status submit taint text
textarea top unescape untaint window

 

HTML Event Handlers

추가적으로 HTML에 마우스 클릭 등과 같은 사건(event)이 발생했을 때 이를 캐치하여 제어하는 핸들러들도 변수 이름이나 함수 이름, 메소드 등에 사용하지 말아야 한다.

 

onblur onclick onerror onfocus
onkeydown onkeypress onkeyup onmouseover
onload onmouseup onmousedown onsubmit

 

 

 

Share the joy
  •  
  •  
  •  
  •  

댓글 남기기