JavaScript 엔진 기능 지원

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 51분
  • 에서 ECMAScript 2021(ES12)과 ES5 표준 JavaScript 모드 오스트레일리아간의 ECMAScript 기능을 비교합니다. 두 모드 모두 ECMAScript 기능의 하위 집합을 지원합니다.

    이러한 기능에 대한 자세한 내용은 Ecma International 웹 사이트의 ECMAScript 언어 사양(ECMA-262)을 참조하십시오.

    지원 정의

    지원됨
    이 기능은 테스트 및 유효성을 검증했습니다.
    지원되지 않음
    이 기능은 현재 릴리스에서 확인되지 않았습니다.
    허용
    기능이 프로그래밍 모델과 ServiceNow AI Platform 일치하지 않거나 보안 또는 성능 위험을 초래합니다. 허용되지 않은 기능으로 인해 오류가 발생합니다.

    ECMAScript 2022(ES13) 기능

    중요사항:
    프로덕션에 코드를 배포하기 전에 이 ECMAScript 버전에서 새로 추가된 기능 및 부분적인 지원으로 인해 지원되는 ECMAScript 2022(ES13) 기능을 사용하여 스크립트를 철저히 테스트해야 합니다.
    표 1. 인스턴스 클래스 필드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    공용 인스턴스 클래스 필드 지원됨 지원되지 않음
    개인 인스턴스 클래스 필드 기본 지원 지원되지 않음 지원되지 않음
    개인 인스턴스 클래스 필드 이니셜라이저 지원되지 않음 지원되지 않음
    선택적 개인 인스턴스 클래스 필드 접근 권한 지원되지 않음 지원되지 않음
    선택적 딥 프라이빗 인스턴스 클래스 필드 접근 권한 지원되지 않음 지원되지 않음
    계산된 인스턴스 클래스 필드 지원됨 지원되지 않음
    표 2. 정적 클래스 필드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    공개 정적 클래스 필드 지원됨 지원되지 않음
    정적 클래스 필드에서 [[정의]] 사용 지원됨 지원되지 않음
    비공개 정적 클래스 필드 지원됨 지원되지 않음
    계산된 정적 클래스 필드 지원됨 지원되지 않음
    표 3. 비공개 클래스 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    비공개 인스턴스 메서드 지원되지 않음 지원되지 않음
    비공개 정적 메서드 지원됨 지원되지 않음
    비공개 접근자 속성 지원되지 않음 지원되지 않음
    비공개 정적 접근자 속성 지원됨 지원되지 않음
    표 4. .at() 내장 인덱싱 가능 항목의 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.at() 지원됨 지원되지 않음
    String.prototype.at() 지원됨 지원되지 않음
    %TypedArray%.prototype.at() 지원됨 허용
    표 5. Object.hasOwn
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    ToPropertyKey 전에 호출된 ToObject 지원됨 지원되지 않음
    표 6. Error.cause 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    오류에 원인이 있음 지원됨 지원되지 않음
    오류.프로토타입에 원인이 없습니다. 지원됨 지원되지 않음
    EvalError에 원인이 있음 지원됨 지원되지 않음
    EvalError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    RangeError에 원인이 있음 지원됨 지원되지 않음
    RangeError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    ReferenceError에 원인이 있음 지원됨 지원되지 않음
    ReferenceError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    SyntaxError에 원인이 있음 지원됨 지원되지 않음
    SyntaxError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    TypeError에 원인이 있음 지원됨 지원되지 않음
    TypeError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    URIError에 원인이 있음 지원됨 지원되지 않음
    URIError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    AggregateError에 원인이 있음 지원됨 지원되지 않음
    AggregateError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    표 7. 정규 표현식 일치 인덱스("hasIndices"/"d" 플래그)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    생성자가 지원합니다. 지원되지 않음 지원되지 않음
    플래그에 표시 지원되지 않음 지원되지 않음
    표 8. 비공개 필드에 대한 인체공학적 브랜드 확인
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    비공개 필드에 대한 인체공학적 브랜드 확인 지원되지 않음 지원되지 않음
    표 9. 클래스 정적 초기화 블록
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    클래스 정적 초기화 블록 지원됨 지원되지 않음

    ECMAScript 2021(ES12) 기능

    표 10. 약속.모든
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    이행 지원됨 허용
    AggregateError 지원됨 허용
    표 11. 약참조
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    WeakRef 최소 지원 허용 허용
    FinalizationRegistry 최소 지원 허용 허용
    표 12. 논리적 할당
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    ||= 기본 지원 지원됨 지원되지 않음
    ||= 단락 동작 지원됨 지원되지 않음
    ||= setter가 불필요하게 호출되지 않음 지원됨 지원되지 않음
    &&= 기본 지원 지원됨 지원되지 않음
    &&= 단락 동작 지원됨 지원되지 않음
    &&= setter가 불필요하게 호출되지 않음 지원됨 지원되지 않음
    ?? = 기본 지원 지원됨 지원되지 않음
    ?? = 단락 동작 지원됨 지원되지 않음
    ?? = setter가 불필요하게 호출되지 않음 지원됨 지원되지 않음
    표 13. 숫자 구분 기호
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    숫자 구분 기호 지원됨 지원되지 않음
    표 14. String.prototype.replaceAll
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.replaceAll 지원됨 지원됨

    ECMAScript 2020(ES11) 기능

    표 15. String.prototype.matchAll
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    전역이 아닌 정규 표현식에서 발생 지원됨 지원되지 않음
    표 16. 빅인트
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    생성자 지원됨 지원되지 않음
    BigInt.asUintN 지원됨 지원되지 않음
    BigInt.asIntN 지원됨 지원되지 않음
    BigInt64배열 지원됨 지원되지 않음
    BigUint64배열 지원됨 지원되지 않음
    DataView.prototype.getBigInt64 지원되지 않음 지원되지 않음
    DataView.prototype.getBigUint64 지원되지 않음 지원되지 않음
    표 17. globalThis
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    "globalThis" 전역 속성은 전역 객체입니다. 지원됨 허용
    "globalThis" 전역 속성에 올바른 속성 설명자가 있습니다. 지원됨 허용
    표 18. 선택적 체인 연산자(?.)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    선택적 속성 액세스 지원됨 지원되지 않음
    선택적 브래킷 액세스 지원됨 지원되지 않음
    선택적 메서드 호출 지원됨 지원되지 않음
    선택적 함수 호출 지원됨 지원되지 않음
    선택적 체인 후 매개변수 확산 지원됨 지원되지 않음
    표 19. 약속.모두 해결됨
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    약속.모두 해결됨 지원됨 허용
    표 20. nullish 병합 연산자(??)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    nullish 병합 연산자(??) 지원됨 지원되지 않음

    ECMAScript 2019(ES10) 기능

    표 21. 기호.프로토타입.설명
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원됨 지원되지 않음
    빈 설명 지원됨 지원되지 않음
    정의되지 않은 설명 지원됨 지원되지 않음
    표 22. 문자열 트리밍
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자열.프로토타입.trimLeft 지원됨 지원됨
    문자열.프로토타입.trimRight 지원됨 지원됨
    String.prototype.trimStart 지원됨 지원되지 않음
    문자열.프로토타입.trimEnd 지원됨 지원되지 않음
    표 23. Array.prototype입니다. {플랫, 플랫맵}
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열.prototype.flat 지원됨 지원되지 않음
    배열.prototype.flatMap 지원됨 지원되지 않음
    flat 및 flatMap in Array.prototype[@@unscopables] 지원됨 지원되지 않음
    표 24. Object.fromEntries
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.fromEntries 지원됨 지원되지 않음
    표 25. 선택적 캐치 바인딩
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원됨 허용
    기다리다 허용 허용
    산출 허용 허용
    표 26. Function.prototype.toString 개정 버전
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    함수 생성자로 만든 함수 허용 허용
    화살표 허용 허용
    [네이티브 코드] 허용 허용
    암시적 생성자가 있는 클래스 표현식 허용 허용
    명시적 생성자가 있는 클래스 표현식 허용 허용
    식별자의 유니코드 이스케이프 시퀀스 허용 허용
    메서드 및 계산된 속성 이름 지원됨 허용
    표 27. JSON 상위 집합
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    선 구분 기호는 문자열 리터럴에 나타날 수 있습니다. 허용 허용
    단락 구분 기호는 문자열 리터럴에 나타날 수 있습니다. 허용 허용
    표 28. 올바른 형식의 JSON.stringify
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    올바른 형식의 JSON.stringify 허용 허용

    ECMAScript 2018(ES9) 기능

    표 29. 객체 rest/spread 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체 REST 속성 지원됨 지원되지 않음
    객체 확산 속성 지원됨 지원되지 않음
    표 30. 약속.프로토타입.finally
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 허용
    해결 값을 변경하지 마십시오. 지원됨 허용
    변경 거부 값 지원됨 허용
    표 31. 비동기 반복기
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    비동기 생성기 허용 허용
    for-await-of 루프 허용 허용
    표 32. 정규 표현식에 대한 s(dotAll) 플래그
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    정규 표현식에 대한 s(dotAll) 플래그 지원됨 지원되지 않음
    표 33. RegExp 명명된 캡처 그룹
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    RegExp 명명된 캡처 그룹 지원됨 지원되지 않음
    표 34. RegExp Lookbehind 어설션
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    RegExp Lookbehind 어설션 지원됨 지원되지 않음
    표 35. RegExp 유니코드 속성 이스케이프
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    RegExp 유니코드 속성 이스케이프 지원됨 지원되지 않음
    표 36. 템플릿 리터럴 수정
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    템플릿 리터럴 수정 허용 허용

    ECMAScript 2017(ES8) 기능

    표 37. 객체 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체.값 지원됨 지원되지 않음
    객체.항목 지원됨 지원되지 않음
    Object.getOwnPropertyDescriptors 지원됨 지원되지 않음
    Object.getOwnPropertyDescriptors는 정의되지 않은 설명자를 제공하지 않습니다. 지원됨 지원되지 않음
    표 38. 문자열 패딩
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.padStart 지원됨 지원되지 않음
    문자열.prototype.padEnd 지원됨 지원되지 않음
    표 39. 함수 구문의 후행 쉼표
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    매개변수 목록에서 지원됨 지원되지 않음
    인수 목록 내 지원됨 지원되지 않음
    표 40. 비동기 기능
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    돌아오다 지원됨 허용
    던지다 지원됨 허용
    비동기와 함수 사이에 줄 바꿈 없음 지원됨 허용
    "프로토타입" 속성 없음 허용 허용
    기다리다 지원됨 허용
    대기, 거부 지원됨 허용
    값을 기다려야 합니다. 허용 허용
    약속이 아닌 값을 기다릴 수 있음 지원됨 허용
    매개변수에서 대기할 수 없음 허용 허용
    비동기 메서드, 객체 리터럴 지원됨 허용
    비동기 메서드, 클래스 허용 허용
    메서드, 클래스의 비동기 화살표 기능 지원됨 허용
    비동기 화살표 함수 지원됨 허용
    올바른 프로토타입 체인 허용 허용
    비동기 함수 프로토타입, Symbol.toStringTag 허용 허용
    비동기 함수 생성자 허용 허용
    표 41. 공유 메모리 및 원자
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    SharedArrayBuffer 허용 허용
    SharedArrayBuffer[기호.종] 허용 허용
    SharedArrayBuffer.prototype.byteLength 허용 허용
    SharedArrayBuffer.prototype.slice 허용 허용
    SharedArrayBuffer.prototype[Symbol.toStringTag] 허용 허용
    아토믹스.add 허용 허용
    Atomics.및 허용 허용
    Atomics.compareExchange 허용 허용
    아토믹스.exchange 허용 허용
    Atomics.wait 허용 허용
    Atomics.wake 허용 허용
    Atomics.isLockFree 허용 허용
    Atomics.load 허용 허용
    Atomics.또는 허용 허용
    Atomics.store 허용 허용
    아토믹스.sub 허용 허용
    Atomics.x또는 허용 허용
    표 42. Object.prototype getter/setter 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    __defineGetter__ 지원됨 허용
    __defineGetter__, 기호 지원됨 허용
    __defineGetter__, ToObject(this) 허용 허용
    __defineSetter__ 지원됨 허용
    __defineSetter__, 기호 지원됨 허용
    __defineSetter__, ToObject(this) 허용 허용
    __lookupGetter__ 지원됨 허용
    __lookupGetter__, 프로토타입 체인 지원됨 허용
    __lookupGetter__, 기호 지원됨 허용
    __lookupGetter__, ToObject(this) 허용 허용
    __lookupGetter__, 데이터 속성은 접근자를 섀도우할 수 있습니다. 허용 허용
    __lookupSetter__ 지원됨 허용
    __lookupSetter__, 프로토타입 체인 지원됨 허용
    __lookupSetter__, 기호 지원됨 허용
    __lookupSetter__, ToObject(this) 허용 허용
    __lookupSetter__, 데이터 속성은 접근자를 섀도우할 수 있습니다. 허용 허용
    표 43. 프록시 내부 호출, getter/setter 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    __defineGetter__ 지원됨 허용
    __defineSetter__ 지원됨 허용
    __lookupGetter__ 지원됨 허용
    __lookupSetter__ 지원됨 허용

    ECMAScript 2016(ES7) 기능

    표 44. 지수(**) 연산자
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 지원되지 않음
    할당 지원됨 지원되지 않음
    괄호가 없는 단항 부정에 대한 초기 구문 오류 허용 허용
    표 45. 배열.프로토타입.포함
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열.프로토타입.포함 지원됨 지원되지 않음
    Array.prototype.includes는 일반입니다. 지원되지 않음 지원되지 않음
    %TypedArray%.prototype.includes 지원됨 허용

    ECMAScript 2015(ES6) 기능

    표 46. 적절한 테일 콜(테일 콜 최적화)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    직접 재귀 허용 허용
    상호 재귀 허용 허용
    표 47. 기본 기능 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    명시적 정의되지 않음은 기본값을 연기함 지원됨 지원되지 않음
    기본값은 이전 매개변수를 참조할 수 있습니다. 지원됨 지원되지 않음
    인수 객체 상호작용 지원됨 지원되지 않음
    임시 데드 존 허용 허용
    개별 범위 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    표 48. REST 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    기능 '길이' 속성 지원됨 지원되지 않음
    인수 객체 상호작용 지원되지 않음 지원되지 않음
    setter에서 사용할 수 없음 허용 허용
    new Function() 지원 허용 허용
    표 49. 반복 가능한 객체에 대한 구문 확산
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함, 함수 호출 지원됨 지원되지 않음
    배열 포함, 배열 리터럴 지원됨 지원되지 않음
    희소 배열 사용, 함수 호출 시 지원됨 지원되지 않음
    희소 배열 포함, 배열 리터럴 지원됨 지원되지 않음
    문자열 포함, 함수 호출 지원됨 지원되지 않음
    문자열 포함, 배열 리터럴 지원됨 지원되지 않음
    아스트랄 평면 문자열 사용, 함수 호출 시 지원됨 지원되지 않음
    아스트랄 평면 문자열, 배열 리터럴 지원됨 지원되지 않음
    생성기 인스턴스 사용, 호출 중 허용 허용
    생성기 인스턴스 포함, 배열 내 허용 허용
    일반 반복 가능 항목 사용, 호출 중 지원됨 지원되지 않음
    일반 반복 가능 항목, 배열 포함 지원됨 지원되지 않음
    반복 가능한 인스턴스 포함, 호출 중 지원됨 지원되지 않음
    반복 가능한 인스턴스가 있는 배열 지원됨 지원되지 않음
    반복 불가능 항목을 확산하는 것은 런타임 오류입니다. 지원됨 지원되지 않음
    표 50. 객체 리터럴 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    계산된 속성 지원됨 지원되지 않음
    약식 속성 지원됨 지원되지 않음
    약식 메서드 지원됨 지원되지 않음
    문자열 키 약식 메서드 지원됨 지원되지 않음
    계산된 약식 방법 지원됨 지원되지 않음
    계산된 접근자 지원됨 지원되지 않음
    표 51. For-of 루프
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 포함 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열 포함 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 항목 포함 지원됨 지원되지 않음
    일반 반복 가능 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기, 중단 지원됨 지원되지 않음
    반복기 닫기, throw 지원됨 지원되지 않음
    표 52. 8진수 및 이진 리터럴
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    8진수 리터럴 지원됨 지원되지 않음
    이진 리터럴 지원됨 지원되지 않음
    Number()에서 지원되는 8진수 지원되지 않음 지원되지 않음
    Number()에서 지원하는 바이너리 지원되지 않음 지원되지 않음
    표 53. 템플릿 리터럴
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    toString 변환 지원됨 지원되지 않음
    태그가 지정된 템플릿 리터럴 지원됨 지원되지 않음
    전달된 배열이 동결됨 지원됨 지원되지 않음
    줄 바꿈 표준화 허용 허용
    TemplateStrings 사이트 캐싱 호출 지원됨 지원되지 않음
    TemplateStrings 영구 캐싱 지원됨 지원되지 않음
    표 54. 정규 표현식 "y" 및 "u" 플래그
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    "Y" 플래그 지원됨 지원되지 않음
    "y" 플래그, lastIndex 지원됨 지원되지 않음
    "u" 플래그 지원됨 지원되지 않음
    "u" 플래그, BMP가 아닌 유니코드 문자 지원됨 지원되지 않음
    "u" 플래그, 유니코드 코드 포인트 이스케이프 지원됨 지원되지 않음
    "U" 플래그, 케이스 접기 지원됨 지원되지 않음
    표 55. 구조 해제, 선언
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 포함 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열 포함 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 항목 포함 지원됨 지원되지 않음
    일반 반복 가능 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    기본을 사용한 객체 구조화 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 정의되지 않은 경우 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    단일 var 문에 여러 배수 지원됨 지원되지 않음
    중첩됨 지원됨 지원되지 않음
    for-in 루프 헤드 지원됨 지원되지 않음
    for-of 루프 헤드 지원됨 지원되지 않음
    캐치 헤드 내 지원됨 지원되지 않음
    휴식 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 임시 데드존 허용 허용 허용
    표 56. 해체, 할당
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 포함 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열 포함 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 항목 포함 지원됨 지원되지 않음
    일반 반복 가능 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 구조화 표현식 지원됨 지원되지 않음
    연쇄 반복 가능한 구조화 해체 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    기본을 사용한 객체 구조화 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 구조화 표현식 지원됨 지원되지 않음
    괄호로 묶인 왼쪽은 구문 오류입니다. 허용 허용
    체인 객체 구조화 지원됨 지원되지 않음
    null 및 정의되지 않은 경우 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩됨 지원됨 지원되지 않음
    휴식 지원됨 지원되지 않음
    중첩된 REST 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    표 57. 해체, 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 포함 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열 포함 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 항목 포함 지원됨 지원되지 않음
    일반 반복 가능 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    기본을 사용한 객체 구조화 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 정의되지 않은 경우 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩됨 지원됨 지원되지 않음
    '인수' 상호작용 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    매개변수에서 'length' 속성 함수 지원됨 지원되지 않음
    휴식 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 별도의 범위 지원됨 지원되지 않음
    기본값, 새 Function() 지원 허용 허용
    별칭 기본값, 화살표 기능 지원됨 지원되지 않음
    약식 기본값, 화살표 기능 지원됨 지원되지 않음
    중복 식별자 허용 허용
    표 58. 유니코드 코드 포인트 이스케이프
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자열로 표시 지원됨 지원되지 않음
    식별자 지원되지 않음 지원되지 않음
    속성 키 정의 지원되지 않음 지원되지 않음
    속성 내 키 접근 지원되지 않음 지원되지 않음
    표 59. 신규.대상
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    생성자에서 지원되지 않음 지원되지 않음
    할당이 조기 오류임 허용 허용
    표 60. 상수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 지원됨
    블록 범위 지정 지원됨 지원되지 않음
    범위 섀도 해결 지원됨 지원되지 않음
    은(는) 문에 있을 수 없음 허용 허용
    const를 재정의하는 것은 오류입니다. 허용 허용
    for 루프 문 범위 지원됨 지원되지 않음
    for-in 루프 반복 범위 지원됨 지원되지 않음
    for-of 루프 반복 범위 지원됨 지원되지 않음
    임시 데드 존 지원되지 않음 지원되지 않음
    기본 지원(엄격 모드) 지원됨 지원됨
    차단 범위 지정됨(엄격 모드) 지원됨 지원되지 않음
    범위 섀도 해결(엄격 모드) 지원됨 지원되지 않음
    문에 있을 수 없음(엄격 모드) 허용 허용
    const 재정의(엄격 모드) 허용 허용
    for 루프 문 범위(엄격 모드) 지원됨 지원되지 않음
    for-in 루프 반복 범위(엄격 모드) 지원됨 지원되지 않음
    For-Of 루프 반복 범위(엄격 모드) 지원됨 지원되지 않음
    임시 데드 존(엄격 모드) 지원되지 않음 지원되지 않음
    표 61. 하자
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 지원되지 않음
    블록 범위 지정 지원됨 지원되지 않음
    범위 섀도 해결 지원됨 지원되지 않음
    은(는) 문에 있을 수 없음 허용 허용
    for 루프 문 범위 지원됨 지원되지 않음
    임시 데드 존 지원되지 않음 지원되지 않음
    for/for-in 루프 반복 범위 지원됨 지원되지 않음
    for-in 루프 바인딩 섀도잉 매개변수 허용 허용
    기본 지원(엄격 모드) 지원됨 지원되지 않음
    차단 범위 지정됨(엄격 모드) 지원됨 지원되지 않음
    범위 섀도 해결(엄격 모드) 지원됨 지원되지 않음
    문에 있을 수 없음(엄격 모드) 허용 허용
    for 루프 문 범위(엄격 모드) 지원됨 지원되지 않음
    임시 데드 존(엄격 모드) 지원되지 않음 지원되지 않음
    for/for-in 루프 반복 범위(엄격 모드) 지원됨 지원되지 않음
    for-in 루프 바인딩 섀도잉 매개변수(엄격 모드) 허용 허용
    표 62. 블록 수준 함수 선언
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    블록 수준 함수 선언 지원됨 지원되지 않음
    표 63. 화살표 기능
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    0 매개변수 지원됨 지원되지 않음
    매개변수 1개, 대괄호 없음 지원됨 지원되지 않음
    여러 매개변수 지원됨 지원되지 않음
    어휘 "this" 바인딩 지원됨 지원되지 않음
    호출 또는 적용에 의해 변경되지 않은 "this" 지원됨 지원되지 않음
    바인딩할 수 없음, 커리할 수 있음 지원됨 지원되지 않음
    어휘 "인수" 바인딩 지원됨 지원되지 않음
    매개변수 및 => 사이에 줄 바꿈 없음 허용 허용
    올바른 우선순위 허용 허용
    "프로토타입" 속성 없음 지원되지 않음 지원되지 않음
    생성자의 어휘 "super" 바인딩 지원됨 지원되지 않음
    메서드의 어휘 "슈퍼" 바인딩 지원됨 지원되지 않음
    어휘 "new.target" 바인딩 지원되지 않음 지원되지 않음
    표 64. 클래스
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    클래스 문 지원됨 지원되지 않음
    블록 범위 지정 지원됨 지원되지 않음
    클래스 표현식 지원됨 지원되지 않음
    익명 클래스 지원됨 지원되지 않음
    생성자 지원됨 지원되지 않음
    프로토타입 방법 지원됨 지원되지 않음
    문자열 키 메서드 지원됨 지원되지 않음
    계산된 프로토타입 방법 지원됨 지원되지 않음
    선택적 세미콜론 지원됨 지원되지 않음
    정적 메서드 지원됨 지원되지 않음
    계산된 정적 메서드 지원됨 지원되지 않음
    접근자 속성 지원됨 지원되지 않음
    계산된 접근자 속성 지원됨 지원되지 않음
    정적 접근자 속성 지원됨 지원되지 않음
    계산된 정적 접근자 속성 지원됨 지원되지 않음
    클래스 이름은 어휘 범위가 지정됩니다. 지원됨 지원되지 않음
    계산된 이름, 임시 데드 존 지원되지 않음 지원되지 않음
    메서드를 열거할 수 없습니다. 지원됨 지원되지 않음
    암시적 엄격 모드 지원되지 않음 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    확장 지원됨 지원되지 않음
    표현식 확장 지원됨 지원되지 않음
    null 확장 지원됨 지원되지 않음
    신규.대상 지원됨 지원되지 않음
    표 65. 슈퍼
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    생성자의 문 지원됨 지원되지 않음
    생성자의 표현식 지원됨 지원되지 않음
    메서드, 속성 액세스 지원됨 지원되지 않음
    메서드에서 메서드 호출 지원됨 지원되지 않음
    메서드 호출은 올바른 "this" 바인딩을 사용합니다. 지원됨 지원되지 않음
    생성자 호출은 올바른 "new.target" 바인딩을 사용합니다. 지원됨 지원되지 않음
    정적으로 바인딩됨 지원됨 지원되지 않음
    super()는 올바른 생성자를 호출합니다. 지원됨 지원되지 않음
    표 66. 작성기
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성기 함수 표현식 지원됨 허용
    "this" 바인딩 수정 지원됨 허용
    "this"를 new와 함께 사용할 수 없음 지원됨 허용
    보내는 지원됨 허용
    %GeneratorPrototype% 허용 허용
    %GeneratorPrototype% 프로토타입 체인 허용 허용
    %GeneratorPrototype%.constructor 허용 허용
    %GeneratorPrototype%.throw 허용 허용
    %GeneratorPrototype%.return 허용 허용
    산출 연산자 우선순위 허용 허용
    yield *, 배열 지원됨 허용
    yield *, 희소 배열 지원됨 허용
    yield *, 문자열 지원됨 허용
    yield *, 아스트랄 평면 문자열 지원됨 허용
    yield *, 생성기 인스턴스 지원됨 허용
    yield *, 일반 이터러블 지원됨 허용
    yield *, 반복 가능한 인스턴스 지원됨 허용
    yield * on non-iterables 는 런타임 오류입니다. 지원됨 허용
    yield *, 반복기 닫기 지원됨 허용
    yield *, throw()를 통해 닫는 반복기 지원됨 허용
    약식 생성기 방법 지원됨 허용
    문자열 키 속기 생성기 메서드 지원됨 허용
    계산된 속기 생성기 지원됨 허용
    속기 생성기 메서드, 클래스 지원됨 허용
    계산된 속기 생성기, 클래스 지원됨 허용
    약식 생성기는 생성자가 될 수 없습니다. 허용 허용
    표 67. 형식화된 배열
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Int8배열 지원됨 허용
    Uint8어레이 지원됨 허용
    Uint8ClampedArray 지원됨 허용
    정수16Array 지원됨 허용
    Uint16어레이 지원됨 허용
    Int32배열 지원됨 허용
    Uint32배열 지원됨 허용
    float32Array 지원됨 허용
    플로트64Array 지원됨 허용
    DataView(Int8) 지원됨 허용
    DataView(uint8) 지원됨 허용
    DataView(Int16) 지원됨 허용
    DataView(Uint16) 지원됨 허용
    DataView(Int32) 지원됨 허용
    DataView(uint32) 지원됨 허용
    DataView(Float32) 지원됨 허용
    DataView(Float64) 지원됨 허용
    ArrayBuffer[기호.종] 지원됨 허용
    생성자에는 new가 필요합니다. 지원됨 허용
    생성자는 제네릭 이터러블을 받아들입니다. 지원됨 허용
    올바른 프로토타입 체인 허용 허용
    %TypedArray%.from에서 지원됨 허용
    %TypedArray%.of 지원됨 허용
    %TypedArray%.prototype.subarray 지원됨 허용
    %TypedArray%.prototype.join 지원됨 허용
    %TypedArray%.prototype.indexOf 지원됨 허용
    %TypedArray%.prototype.lastIndexOf 지원됨 허용
    %TypedArray%.prototype.slice 지원됨 허용
    %TypedArray%.prototype.every 지원됨 허용
    %TypedArray%.prototype.filter 지원됨 허용
    %TypedArray%.prototype.forEach 지원됨 허용
    %TypedArray%.prototype.map 지원됨 허용
    %TypedArray%.prototype.reduce 지원됨 허용
    %TypedArray%.prototype.reduceRight 지원됨 허용
    %TypedArray%.prototype.reverse 지원됨 허용
    %TypedArray%.prototype.some 지원됨 허용
    %TypedArray%.prototype.sort 지원됨 허용
    %TypedArray%.prototype.copyWithin 지원됨 허용
    %TypedArray%.prototype.find 지원됨 허용
    %TypedArray%.prototype.findIndex 지원됨 허용
    %TypedArray%.prototype.fill을 입력합니다. 지원됨 허용
    %TypedArray%.prototype.keys 지원됨 허용
    %TypedArray%.prototype.values 지원됨 허용
    %TypedArray%.prototype.entries 지원됨 허용
    %TypedArray%.prototype[Symbol.iterator] 지원됨 허용
    %TypedArray%[기호.종] 허용 허용
    표 68.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    생성자 인수 지원됨 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    생성자는 null을 허용합니다. 지원됨 지원되지 않음
    생성자가 set 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    Map.prototype.set은 다음을 반환합니다. 지원됨 지원되지 않음
    -0 키는 +0으로 변환됩니다. 지원됨 지원되지 않음
    Map.prototype.size 지원됨 지원되지 않음
    Map.prototype.delete 지원됨 지원되지 않음
    Map.prototype.clear 지원됨 지원되지 않음
    Map.prototype.forEach 지원됨 지원되지 않음
    Map.prototype.keys 지원됨 지원되지 않음
    Map.prototype.values 지원됨 지원되지 않음
    Map.prototype.entries 지원됨 지원되지 않음
    Map.prototype[Symbol.iterator] 지원됨 지원되지 않음
    Map.prototype은 인스턴스가 아닙니다. 지원됨 지원되지 않음
    반복기 프로토타입 체인 매핑 지원됨 지원되지 않음
    지도[기호.종] 지원됨 지원되지 않음
    표 69. 설정
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    생성자 인수 지원됨 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    생성자는 null을 허용합니다. 지원됨 지원되지 않음
    생성자는 add 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    Set.prototype.add는 다음을 반환합니다. 지원됨 지원되지 않음
    -0 키는 +0으로 변환됩니다. 지원됨 지원되지 않음
    Set.prototype.size 지원됨 지원되지 않음
    설정.프로토타입.삭제 지원됨 지원되지 않음
    Set.prototype.clear 지원됨 지원되지 않음
    Set.prototype.forEach 지원됨 지원되지 않음
    Set.prototype.keys 지원됨 지원되지 않음
    Set.prototype.values 지원됨 지원되지 않음
    Set.prototype.entries 지원됨 지원되지 않음
    Set.prototype[Symbol.iterator] 지원됨 지원되지 않음
    Set.prototype은 인스턴스가 아닙니다. 지원됨 지원되지 않음
    반복기 프로토타입 체인 설정 지원됨 지원되지 않음
    설정[기호.종] 지원됨 지원되지 않음
    표 70. 약점 맵
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성자 인수 지원됨 허용
    생성자에 새 항목이 필요합니다. 지원됨 허용
    생성자는 null을 허용합니다. 지원됨 허용
    생성자가 set 지원됨 허용
    고정된 객체를 키로 지원됨 허용
    반복기 닫기 지원됨 허용
    WeakMap.prototype.set은 지원됨 허용
    약한 맵.prototype.delete 지원됨 허용
    WeakMap.prototype.clear 메서드가 없습니다. 지원됨 허용
    .has, .get 및 .delete 메서드는 기본 형식을 허용합니다. 허용 허용
    WeakMap.prototype은 인스턴스가 아닙니다. 허용 허용
    표 71. 약한 세트
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성자 인수 지원됨 허용
    생성자에 새 항목이 필요합니다. 지원됨 허용
    생성자는 null을 허용합니다. 지원됨 허용
    생성자는 add 지원됨 허용
    반복기 닫기 지원됨 허용
    WeakSet.prototype.add는 지원됨 허용
    약한 세트.프로토타입.삭제 지원됨 허용
    WeakSet.prototype.clear 메서드 없음 지원됨 허용
    .has 및 .delete 메서드는 기본 형식을 허용합니다. 허용 허용
    WeakSet.prototype은 인스턴스가 아닙니다. 허용 허용
    표 72. 프록시
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    생성자에 새 항목이 필요합니다. 지원됨 허용
    "프로토타입" 속성 없음 지원됨 허용
    "get" 처리기 지원됨 허용
    "get" 핸들러, 프록시 인스턴스 지원됨 허용
    "get" 처리기 고정 지원됨 허용
    "세트" 핸들러 지원됨 허용
    "set" 핸들러, 프록시 인스턴스 지원됨 허용
    "set" 처리기 고정 지원됨 허용
    "has" 핸들러 지원됨 허용
    "has" 핸들러, 프록시 인스턴스 지원됨 허용
    "has" 처리기 고정 지원됨 허용
    "deleteProperty" 핸들러 지원됨 허용
    "deleteProperty" 핸들러 고정 지원됨 허용
    "getOwnPropertyDescriptor" 핸들러 지원됨 허용
    "getOwnPropertyDescriptor" 핸들러 고정 지원됨 허용
    "defineProperty" 핸들러 지원됨 허용
    "defineProperty" 처리기 불변 지원됨 허용
    "getPrototypeOf" 핸들러 지원됨 허용
    "getPrototypeOf" 핸들러 고정 지원됨 허용
    "setPrototypeOf" 핸들러 지원됨 허용
    "setPrototypeOf" 핸들러 불변 지원됨 허용
    "isExtensible" 처리기 지원됨 허용
    "isExtensible" 처리기 고정 지원됨 허용
    "preventExtensions" 핸들러 지원됨 허용
    "preventExtensions" 핸들러 불변 지원됨 허용
    "ownKeys" 핸들러 지원됨 허용
    "ownKeys" 처리기 고정 지원됨 허용
    "적용" 핸들러 지원됨 허용
    "적용" 핸들러 고정 지원됨 허용
    "Construct" 처리기 지원됨 허용
    "Construct" 처리기 고정 지원됨 허용
    프록시.무효화 가능 지원됨 허용
    Array.isArray 지원 지원됨 허용
    JSON.stringify 지원 지원됨 허용
    표 73. 반사하다
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    반영.get 허용 허용
    Reflect.set 허용 허용
    반영.has 허용 허용
    Reflect.deleteProperty 허용 허용
    Reflect.getOwnPropertyDescriptor 허용 허용
    Reflect.defineProperty 허용 허용
    Reflect.getPrototypeOf 허용 허용
    Reflect.setPrototypeOf 허용 허용
    Reflect.isExtensible 허용 허용
    Reflect.preventExtensions 허용 허용
    Reflect.ownKeys, 문자열 키 허용 허용
    Reflect.ownKeys, 기호 키 허용 허용
    반영.적용 허용 허용
    반영.construct 허용 허용
    Reflect.construct는 new.target 메타 속성을 설정합니다. 허용 허용
    Reflect.construct는 세 번째 인수에서 인스턴스를 만듭니다. 허용 허용
    Reflect.construct, 배열 서브클래싱 허용 허용
    Reflect.construct, RegExp 서브클래싱 허용 허용
    Reflect.construct, 함수 서브클래싱 허용 허용
    Reflect.construct, Promise 서브클래싱 허용 허용
    표 74. 약속
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성자에 새 항목이 필요합니다. 지원됨 허용
    Promise.prototype은 인스턴스가 아닙니다. 지원됨 허용
    약속.모두 지원됨 허용
    Promise.all, 일반 반복 가능 지원됨 허용
    약속.경주 지원됨 허용
    Promise.race, 일반 반복 가능 지원됨 허용
    약속[Symbol.species] 지원됨 허용
    표 75. 기호
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    지원 유형 지원됨 지원되지 않음
    기호 키는 ES6 이전 코드에 숨겨져 있습니다. 지원됨 지원되지 않음
    Object.defineProperty 지원 지원됨 지원되지 않음
    기호는 Symbol.prototype에서 상속됩니다. 지원됨 지원되지 않음
    문자열 또는 숫자로 강제 변환할 수 없음 지원됨 지원되지 않음
    String()으로 변환 가능 지원됨 지원되지 않음
    new Symbol() throw 지원됨 지원되지 않음
    객체(기호) 지원되지 않음 지원되지 않음
    JSON.stringify는 기호 기본 요소를 무시합니다. 지원됨 지원되지 않음
    JSON.stringify는 기호 객체를 무시합니다. 지원됨 지원되지 않음
    전역 기호 레지스트리 지원됨 지원되지 않음
    표 76. 잘 알려진 기호
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기호.hasInstance 지원됨 허용
    Symbol.isConcatSpreadable 지원됨 허용
    Symbol.iterator, 존재 지원됨 허용
    Symbol.iterator, 인수 객체 지원됨 허용
    Symbol.species, 존재 지원됨 허용
    기호.종, 배열.prototype.concat 허용 허용
    기호.종, 배열.prototype.filter 허용 허용
    기호.종, 배열.prototype.map 허용 허용
    기호.종, 배열.prototype.slice 허용 허용
    기호.종, 배열.prototype.splice 허용 허용
    Symbol.species, RegExp.prototype[Symbol.split] 허용 허용
    Symbol.species, Promise.prototype.then 허용 허용
    기호.바꾸기 지원됨 허용
    기호.검색 지원됨 허용
    기호.분할 지원됨 허용
    기호.일치 지원됨 허용
    Symbol.match, RegExp 생성자 허용 허용
    Symbol.match, String.prototype.startsWith 허용 허용
    Symbol.match, String.prototype.endsWith 허용 허용
    Symbol.match, String.prototype.includes 허용 허용
    Symbol.toPrimitive 지원됨 허용
    Symbol.toStringTag 지원됨 허용
    Symbol.toStringTag는 기존 내장 기능에 영향을 줍니다. 지원됨 허용
    Symbol.toStringTag, 새로운 내장 지원됨 허용
    Symbol.toStringTag, 기타 내장 지원됨 허용
    Symbol.unscopables 지원됨 허용
    표 77. 객체 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체.할당 지원됨 지원되지 않음
    Object.is 지원됨 지원되지 않음
    Object.getOwnPropertySymbols 지원됨 지원되지 않음
    Object.setPrototypeOf 지원됨 지원되지 않음
    표 78. 기능 "이름" 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    함수 문 지원됨 지원됨
    함수 표현식 지원됨 지원됨
    새 기능 지원되지 않음 지원되지 않음
    바인딩된 함수 지원됨 지원되지 않음
    변수(함수) 지원됨 지원되지 않음
    객체 메서드(함수) 지원됨 지원되지 않음
    접근자 속성 지원됨 지원되지 않음
    약식 메서드 지원됨 지원되지 않음
    약식 메서드(어휘 바인딩 없음) 지원됨 지원되지 않음
    기호 키 메서드 지원되지 않음 지원되지 않음
    클래스 문 지원됨 지원되지 않음
    클래스 표현식 지원됨 지원되지 않음
    변수(클래스) 지원됨 지원되지 않음
    객체 메서드(클래스) 지원되지 않음 지원되지 않음
    클래스 프로토타입 메서드 지원됨 지원되지 않음
    클래스 정적 메서드 지원됨 지원되지 않음
    쓸 수 없으며 구성할 수 있습니다. 지원됨 지원되지 않음
    표 79. 문자열 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.raw 지원됨 지원되지 않음
    String.fromCodePoint 지원됨 지원되지 않음
    표 80. String.prototype 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.codePointAt 지원됨 지원됨
    문자열.프로토타입.정규화 지원됨 지원됨
    문자열.프로토타입.반복 지원됨 지원됨
    String.prototype.startsWith 지원됨 지원됨
    String.prototype.startsWith RegExp에서 throw 지원되지 않음 지원되지 않음
    문자열.프로토타입.endsWith 지원됨 지원됨
    String.prototype.endsWith RegExp에서 throw 지원되지 않음 지원되지 않음
    문자열.프로토타입.포함 지원됨 지원됨
    문자열.프로토타입[Symbol.iterator] 지원됨 지원되지 않음
    문자열 반복기 프로토타입 체인 지원됨 지원되지 않음
    표 81. RegExp.prototype 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    정규 표현식.prototype.flags 지원됨 지원되지 않음
    RegExp.prototype[기호.일치] 지원됨 지원되지 않음
    RegExp.prototype [기호 바꾸기] 지원됨 지원되지 않음
    정규 표현식.prototype[Symbol.split] 지원됨 지원되지 않음
    RegExp.prototype[기호.검색] 지원됨 지원되지 않음
    정규 표현식[기호.종] 지원됨 지원되지 않음
    표 82. 배열 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.from, 배열과 유사한 객체 지원됨 지원되지 않음
    Array.from, 생성기 인스턴스 지원됨 허용
    Array.from, 일반 반복 가능 지원됨 지원되지 않음
    Array.from, 일반 반복 가능의 인스턴스 지원됨 지원되지 않음
    Array.from 맵 함수, 배열과 유사한 객체 지원됨 지원되지 않음
    Array.from map 함수, 생성기 인스턴스 지원됨 허용
    Array.from 맵 함수, 일반 반복 가능 지원됨 지원되지 않음
    Array.from 맵 함수, 반복 가능한 인스턴스 지원됨 지원되지 않음
    Array.from, 반복기 닫기 지원됨 지원되지 않음
    배열.of 지원됨 지원되지 않음
    배열[Symbol.species] 지원됨 지원되지 않음
    표 83. Array.prototype 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.copyWithin 지원됨 지원되지 않음
    배열.프로토타입.찾기 지원됨 지원되지 않음
    배열.prototype.findIndex 지원됨 지원되지 않음
    배열.프로토타입.채우기 지원됨 지원되지 않음
    배열.프로토타입.키 지원됨 지원되지 않음
    배열.프로토타입.값 지원됨 지원되지 않음
    배열.프로토타입.엔트리 지원됨 지원되지 않음
    Array.prototype[Symbol.iterator] 지원됨 지원되지 않음
    배열 반복기 프로토타입 체인 지원됨 지원되지 않음
    배열.prototype[기호.unscopables] 지원됨 지원되지 않음
    표 84. 번호 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Number.isFinite 지원됨 지원되지 않음
    Number.isInteger 지원됨 지원되지 않음
    Number.isSafeInteger 지원됨 지원되지 않음
    번호.isNaN 지원됨 지원되지 않음
    숫자.parseFloat 지원됨 허용
    숫자.parseInt 지원됨 허용
    번호.엡실론 지원됨 지원되지 않음
    Number.MIN_SAFE_INTEGER 지원됨 지원되지 않음
    Number.MAX_SAFE_INTEGER 지원됨 지원되지 않음
    표 85. 수학 방법
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    수학.clz32 지원됨 지원되지 않음
    수학.imul 지원됨 지원되지 않음
    수학.기호 지원됨 지원되지 않음
    수학.로그10 지원됨 지원되지 않음
    수학.로그2 지원됨 지원되지 않음
    Math.log1p 지원됨 지원되지 않음
    수학.expm1 지원됨 지원되지 않음
    수학.cosh 지원됨 지원되지 않음
    수학.sinh 지원됨 지원되지 않음
    수학.탄 지원됨 지원되지 않음
    수학.acosh 지원됨 지원되지 않음
    수학.아신 지원됨 지원되지 않음
    수학.아탄 지원됨 지원되지 않음
    수학.trunc 지원됨 지원되지 않음
    Math.fround 지원됨 지원되지 않음
    수학.cbrt 지원됨 지원되지 않음
    Math.hypot 지원됨 지원되지 않음
    표 86. Date.prototype[Symbol.toPrimitive]
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Date.prototype[Symbol.toPrimitive] 지원됨 지원되지 않음
    표 87. 배열을 하위 클래스화할 수 있습니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    길이 속성(액세스) 허용 허용
    길이 속성(설정) 허용 허용
    올바른 프로토타입 체인 허용 허용
    Array.isArray 지원 지원됨 허용
    배열.prototype.concat 지원됨 허용
    배열.프로토타입.필터 지원됨 허용
    Array.prototype.map 지원됨 허용
    배열.프로토타입.슬라이스 지원됨 허용
    배열.prototype.splice 지원됨 허용
    배열.시작 지원됨 허용
    배열.of 지원됨 허용
    표 88. 정규 표현식은 하위 분류 가능함
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    올바른 프로토타입 체인 허용 허용
    RegExp.prototype.exec 허용 허용
    RegExp.prototype.test 허용 허용
    표 89. 함수를 하위 분류할 수 있습니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    호출할 수 있음 허용 허용
    올바른 프로토타입 체인 허용 허용
    "새로 만들기"와 함께 사용할 수 있습니다. 허용 허용
    Function.prototype.call 허용 허용
    기능.프로토타입.적용 허용 허용
    함수.프로토타입.바인드 허용 허용
    표 90. Promise를 하위 분류할 수 있음
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    올바른 프로토타입 체인 허용 허용
    약속.모두 허용 허용
    약속.경주 허용 허용
    표 91. 기타 하위 분류 가능
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    부울은 하위 분류 가능입니다. 허용 허용
    숫자를 하위 분류할 수 있습니다. 허용 허용
    문자열을 하위 클래스화할 수 있습니다. 허용 허용
    오류는 하위 분류 가능 허용 허용
    맵을 하위 분류할 수 있음 허용 허용
    세트를 하위 클래스화할 수 있음 허용 허용
    표 92. 바인딩된 함수의 프로토타입
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    생성기 함수 허용 허용
    화살표 기능 허용 허용
    클래스 허용 허용
    하위 클래스 허용 허용
    표 93. 프록시, 내부 'get' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    ToPrimitive 지원됨 허용
    CreateListFromArrayLike 지원됨 허용
    instanceof 연산자 지원됨 허용
    Has바인딩 지원됨 허용
    CreateDynamicFunction (동적 함수 만들기) 지원됨 허용
    ClassDefinitionEvaluation (클래스 정의 평가) 지원됨 허용
    IteratorComplete, IteratorValue 지원됨 허용
    ToPropertyDescriptor 지원됨 허용
    객체.할당 지원됨 허용
    Object.defineProperties 지원됨 허용
    함수.프로토타입.바인드 지원됨 허용
    Error.prototype.toString 지원됨 허용
    String.raw 지원됨 허용
    RegExp 생성자 지원됨 허용
    정규 표현식.prototype.flags 지원됨 허용
    정규 표현식.prototype.test 지원됨 허용
    정규 표현식.prototype.toString 지원됨 허용
    RegExp.prototype[기호.일치] 지원됨 허용
    RegExp.prototype [기호 바꾸기] 지원됨 허용
    RegExp.prototype[기호.검색] 지원됨 허용
    정규 표현식.prototype[Symbol.split] 지원됨 허용
    배열.시작 지원됨 허용
    배열.prototype.concat 지원됨 허용
    Array.prototype 반복 메서드 지원됨 허용
    배열.프로토타입.팝 지원됨 허용
    배열.프로토타입.리버스 지원됨 허용
    배열.프로토타입.교대 지원됨 허용
    배열.prototype.splice 지원됨 허용
    Array.prototype.toString 지원됨 허용
    JSON.stringify 지원됨 허용
    약속 해결 기능 지원됨 허용
    문자열.프로토타입.일치 지원됨 허용
    문자열.프로토타입.바꾸기 지원됨 허용
    String.prototype.search 지원됨 허용
    문자열.프로토타입.분할 지원됨 허용
    Date.prototype.toJSON 지원됨 허용
    표 94. 프록시, 내부 '설정' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체.할당 지원됨 허용
    배열.시작 지원됨 허용
    배열.of 지원됨 허용
    Array.prototype.copyWithin 지원됨 허용
    배열.프로토타입.채우기 지원됨 허용
    배열.프로토타입.팝 지원됨 허용
    배열.prototype.push 지원됨 허용
    배열.프로토타입.리버스 지원됨 허용
    배열.프로토타입.교대 지원됨 허용
    배열.prototype.splice 지원됨 허용
    배열.prototype.unshift 지원됨 허용
    표 95. 프록시, 내부 'defineProperty' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    [[설정]] 지원됨 허용
    무결성 수준 설정 지원됨 허용
    표 96. 프록시, 내부 "deleteProperty" 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.copyWithin 지원됨 허용
    배열.프로토타입.팝 지원됨 허용
    배열.프로토타입.리버스 지원됨 허용
    배열.프로토타입.교대 지원됨 허용
    배열.prototype.splice 지원됨 허용
    배열.prototype.unshift 지원됨 허용
    표 97. 프록시, 내부 'getOwnPropertyDescriptor' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    [[설정]] 지원됨 허용
    객체.할당 지원됨 허용
    Object.prototype.hasOwnProperty 지원됨 허용
    함수.프로토타입.바인드 지원됨 허용
    표 98. 프록시, 내부 'ownKeys' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    무결성 수준 설정 지원됨 허용
    테스트 무결성 수준 지원됨 허용
    SerializeJSONObject 지원됨 허용
    표 99. 객체 정적 메서드는 기본을 허용합니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.getPrototypeOf 허용 허용
    Object.getOwnPropertyDescriptor 허용 허용
    Object.getOwnPropertyNames 허용 허용
    개체.봉인 허용 허용
    Object.freeze 허용 허용
    Object.preventExtensions 허용 허용
    Object.isSealed 허용 허용
    Object.isFrozen 허용 허용
    Object.isExtensible 허용 허용
    객체.키 허용 허용
    표 100. 소유 재산 주문
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체.키 지원됨 허용
    Object.getOwnPropertyNames 지원됨 허용
    객체.할당 허용 허용
    JSON.stringify 허용 허용
    JSON.parse 허용 허용
    Reflect.ownKeys, 문자열 키 순서 허용 허용
    Reflect.ownKeys, 기호 키 순서 허용 허용
    표 101. 업데이트된 식별자 구문
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    var â ̧ ̄; 허용 허용
    var ð ‹€; 허용 허용
    식별자로 이스케이프된 예약어가 없음 허용 허용
    표 102. 엄격하지 않은 함수 의미 체계
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    호이스팅된 블록 수준 함수 선언 지원됨 허용
    레이블이 지정된 함수문 허용 허용
    if-statement 절의 함수 문 허용 허용
    표 103. 객체 리터럴의 __proto__
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 허용
    여러 __proto__는 오류입니다. 허용 허용
    계산된 속성이 아님 허용 허용
    약식 속성이 아님 허용 허용
    약식 방법이 아님 허용 허용
    표 104. Object.prototype.__proto__
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    프로토타입 얻기 허용 허용
    프로토타입 설정 허용 허용
    Object.create(null)에 없음 허용 허용
    hasOwnProperty()에 있음 허용 허용
    올바른 속성 설명자 허용 허용
    Object.getOwnPropertyNames()에 존재 허용 허용
    표 105. String.prototype HTML 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    존재 지원됨 허용
    태그의 이름이 소문자입니다. 지원됨 허용
    인수의 따옴표가 이스케이프됨 지원됨 허용
    표 106. 정규 표현식.prototype.compile
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    이 값을 반환합니다. 지원됨 허용
    표 107. RegExp 구문 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자 집합의 하이픈 허용 허용
    잘못된 문자 이스케이프 허용 허용
    잘못된 통제 문자 이스케이프 허용 허용
    잘못된 유니코드 이스케이프 허용 허용
    잘못된 16진수 이스케이프 허용 허용
    불완전한 패턴 및 수량자 허용 허용
    8진수 이스케이프 시퀀스 허용 허용
    잘못된 역참조는 8진수 이스케이프가 됩니다. 허용 허용

    ECMAScript 2009(ES5) 기능

    표 108. 객체/배열 리터럴 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    게터 접근자 지원됨 지원됨
    Setter 접근자 지원됨 지원됨
    객체 리터럴의 후행 쉼표 지원됨 지원됨
    배열 리터럴의 후행 쉼표 지원됨 지원됨
    속성 이름으로서의 예약어 지원됨 지원됨
    표 109. 객체 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    객체.생성 지원됨 지원됨
    Object.defineProperty 지원됨 지원됨
    Object.defineProperties 지원됨 지원됨
    Object.getPrototypeOf 지원됨 지원됨
    객체.키 지원됨 지원됨
    개체.봉인 지원됨 지원됨
    Object.freeze 지원됨 지원됨
    Object.preventExtensions 지원됨 지원됨
    Object.isSealed 지원됨 지원됨
    Object.isFrozen 지원됨 지원됨
    Object.isExtensible 지원됨 지원됨
    Object.getOwnPropertyDescriptor 지원됨 지원됨
    Object.getOwnPropertyNames 지원됨 지원됨
    표 110. 배열 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열.isArray 지원됨 지원됨
    Array.prototype.indexOf 지원됨 지원됨
    Array.prototype.lastIndexOf 지원됨 지원됨
    배열.프로토타입.every 지원됨 지원됨
    배열.프로토타입.일부 지원됨 지원됨
    Array.prototype.forEach 지원됨 지원됨
    배열.프로토타입.맵 지원됨 지원됨
    배열.프로토타입.필터 지원됨 지원됨
    배열.프로토타입.감소 지원됨 지원됨
    Array.prototype.reduceRight 지원됨 지원됨
    Array.prototype.sort: compareFn 은 함수이거나 정의되지 않은 상태여야 합니다. 지원됨 지원되지 않음
    Array.prototype.sort: compareFn은 명시적으로 정의되지 않았을 수 있습니다. 지원됨 지원됨
    표 111. 문자열 속성 및 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자열에 대한 속성 접근 지원됨 지원됨
    문자열.프로토타입.분할 지원됨 지원되지 않음
    문자열.prototype.trim 지원됨 지원됨
    표 112. 날짜 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Date.prototype.toISOString 지원됨 지원됨
    날짜.지금 지원됨 지원됨
    Date.prototype.toJSON 지원됨 지원되지 않음
    표 113. 불변 전역
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    정의되지 않음 지원됨 지원됨
    나엔 지원됨 지원됨
    무한대 지원됨 지원됨
    표 114. 번호 매기기 방법
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Number.prototype.toExponential이 올바르게 반올림됩니다. 지원됨 지원됨
    Number.prototype.toExponential은 ±Infinity fractionDigits에서 발생 지원됨 지원됨
    Number.prototype.toExponential은 엣지 케이스에 발생하지 않습니다. 지원됨 지원됨
    표 115. 엄격 모드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    예약어 허용 허용
    "this"는 함수에 정의되어 있지 않습니다. 지원됨 허용
    "this"는 원시 메서드에서 객체로 강제 변환되지 않습니다. 허용 허용
    "this"는 기본 접근자에서 객체로 강제 변환되지 않습니다. 허용 허용
    레거시 옥탈은 SyntaxError입니다. 지원됨 허용
    확인할 수 없는 식별자에 대한 할당은 ReferenceError입니다. 지원됨 허용
    eval 또는 arguments에 대한 할당은 SyntaxError입니다. 지원됨 허용
    쓸 수 없는 속성에 대한 할당은 TypeError입니다. 지원됨 허용
    eval 또는 arguments 바인딩은 SyntaxError입니다. 허용 허용
    arguments.caller가 제거되었거나 TypeError입니다. 지원됨 허용
    arguments.callee는 TypeError입니다. 지원됨 허용
    (function(){}).caller 및 (function(){}).arguments는 TypeError입니다. 지원됨 허용
    인수가 매핑되지 않음 허용 허용
    eval()은 바인딩을 생성할 수 없습니다. 허용 허용
    바인딩을 삭제하는 것은 SyntaxError입니다. 허용 허용
    구성 불가능한 속성을 삭제하는 것은 TypeError입니다. 허용 허용
    "with"는 SyntaxError입니다. 지원됨 허용
    반복되는 매개 변수 이름은 SyntaxError입니다. 지원됨 허용
    이름과 인수가 일치하는 함수 표현식이 유효합니다. 허용 허용
    표 116. 함수.프로토타입.바인드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    함수.프로토타입.바인드 지원됨 지원됨
    표 117. JSON
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    JSON 지원됨 지원됨