언어/JavaScript
[ Javascript ] 자바스크립트 예약어에 대해서 알아보기
Soso Dev
2025. 4. 4. 00:36
반응형
🌱 자바스크립트의 예약어는 프로그래밍 언어에서 특별한 목적으로 사용되는 단어들로, 변수나 함수 이름 등으로 사용할 수 없습니다. ECMAScript 버전에 따라 추가되거나 변경된 예약어들이 있습니다.
각 예약어는 예약어가 사용되는 기능에서 자세한 설명합니다.
1. ECMAScript 6 (ES6) 이전부터 예약된 단어:
break
: 반복문이나 switch 문을 종료합니다.case
: switch 문에서 특정 값에 대한 처리를 정의합니다.catch
: try 문에서 발생한 오류를 처리합니다.continue
: 반복문에서 현재 반복을 건너뛰고 다음 반복을 시작합니다.debugger
: 디버깅 도구를 실행합니다.default
: switch 문에서 어떤 case에도 해당하지 않을 때 실행되는 부분을 정의합니다.delete
: 객체의 속성을 제거합니다.do
: do...while 반복문을 시작합니다.else
: if 문의 조건이 거짓일 때 실행되는 부분을 정의합니다.finally
: try...catch 문에서 예외 발생 여부와 관계없이 항상 실행되는 부분을 정의합니다.for
: for 반복문을 시작합니다.function
: 함수를 정의합니다.if
: 조건문을 시작합니다.in
: for...in 반복문 또는 객체 속성 존재 여부를 확인합니다.instanceof
: 객체가 특정 클래스의 인스턴스인지 확인합니다.new
: 생성자 함수를 호출하여 객체를 생성합니다.return
: 함수에서 값을 반환합니다.switch
: 여러 개의 조건에 따라 다른 코드를 실행합니다.this
: 현재 객체를 참조합니다.throw
: 예외를 발생시킵니다.try
: 예외가 발생할 수 있는 코드를 실행합니다.typeof
: 변수의 데이터 타입을 반환합니다.var
: 변수를 선언합니다.void
: 표현식의 결과 값을 undefined로 만듭니다.while
: while 반복문을 시작합니다.with
: (더 이상 권장되지 않음) 객체의 속성을 스코프 체인에 추가합니다.
2. ECMAScript 6 (ES6)에 추가된 예약어:
class
: 클래스를 정의합니다.const
: 상수를 선언합니다.enum
: (예약되어 있지만, 향후 사용될 수 있음) 열거형을 정의합니다.export
: 모듈에서 값을 내보냅니다.extends
: 클래스 상속을 정의합니다.import
: 모듈에서 값을 가져옵니다.let
: 블록 스코프 변수를 선언합니다.super
: 부모 클래스의 속성 또는 메서드를 참조합니다.yield
: 제너레이터 함수에서 값을 생성합니다.
3. ECMAScript 이후에 추가/미래를 위해 예약된 단어들:
await(ECMAScript 2017)
: async 함수 내에서 비동기 작업의 완료를 기다립니다.implements
: (엄격 모드에서 예약됨) 클래스가 인터페이스를 구현함을 나타냅니다.interface
: (엄격 모드에서 예약됨) 인터페이스를 정의합니다.package
: (엄격 모드에서 예약됨) 패키지를 정의합니다.private
: (엄격 모드에서 예약됨) 비공개 클래스 속성을 정의합니다.protected
: (엄격 모드에서 예약됨) 보호된 클래스 속성을 정의합니다.public
: (엄격 모드에서 예약됨) 공개 클래스 속성을 정의합니다.static
: 클래스의 정적 속성 또는 메서드를 정의합니다.
4. 특징 및 참고사항:
await
은async
함수 내에서만 예약어로 사용됩니다.- 미래에 예약될 단어들은 현재는 사용 가능하지만, 나중에 예약어로 변경될 수 있으므로 사용을 피하는 것이 좋습니다.
- "use strict"; 모드에서는 몇가지가 추가로 예약어에 포함될수 있습니다.
예약어 목록을 정확히 알고 사용하는것은, 변수명을 선언시에 오류를 발생시키지 않도록 도움을 줄수 있으며, 또한 코드의 가독성 및 유지보수에 도움이 됩니다.
반응형