JavaScript 엔진 기능 지원

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 53분
  • 에서 ECMAScript 2021(ES12)과 ES5 표준 JavaScript 모드 Zurich간의 ECMAScript 기능을 비교합니다. 두 모드 모두 ECMAScript 기능의 하위 집합을 지원합니다.

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

    지원 정의

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

    ECMAScript 2022(ES13) 기능

    중요사항:
    프로덕션에 코드를 배포하기 전에 이 ECMAScript 버전에서 새로 추가된 기능 및 부분 지원으로 인해 지원되는 ES13(ECMAScript 2022) 기능을 사용하여 스크립트를 철저히 테스트해야 합니다.
    표 1. 인스턴스 클래스 필드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    공개 인스턴스 클래스 필드 지원됨 지원되지 않음
    개인 인스턴스 클래스 필드 기본 지원 지원되지 않음 지원되지 않음
    개인 인스턴스 클래스 필드 이니셜라이저 지원되지 않음 지원되지 않음
    선택적 개인 인스턴스 클래스 필드 액세스 지원되지 않음 지원되지 않음
    선택적 심층 개인 인스턴스 클래스 필드 액세스 지원되지 않음 지원되지 않음
    계산된 인스턴스 클래스 필드 지원됨 지원되지 않음
    표 2. 정적 클래스 필드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    공용 정적 클래스 필드 지원됨 지원되지 않음
    정적 클래스 필드 사용 [[Define]] 지원됨 지원되지 않음
    개인 정적 클래스 필드 지원됨 지원되지 않음
    계산된 정적 클래스 필드 지원됨 지원되지 않음
    표 3. 개인 클래스 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    개인 인스턴스 메서드 지원되지 않음 지원되지 않음
    비공개 정적 메서드 지원됨 지원되지 않음
    전용 접근자 속성 지원되지 않음 지원되지 않음
    private 정적 접근자 속성 지원됨 지원되지 않음
    표 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 표준 모드
    오류 원인 있음 지원됨 지원되지 않음
    Error.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    EvalError에 원인이 있음 지원됨 지원되지 않음
    EvalError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    RangeError에 원인이 있음 지원됨 지원되지 않음
    RangeError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    ReferenceError에 원인이 있음 지원됨 지원되지 않음
    ReferenceError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    SyntaxError에 원인이 있습니다. 지원됨 지원되지 않음
    SyntaxError.prototype 에 원인이 없습니다. 지원됨 지원되지 않음
    TypeError에 원인이 있음 지원됨 지원되지 않음
    TypeError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    URIError에 원인이 있음 지원됨 지원되지 않음
    URIError.prototype 원인 부족 지원됨 지원되지 않음
    AggregateError에 원인이 있음 지원됨 지원되지 않음
    AggregateError.prototype에 원인이 없습니다. 지원됨 지원되지 않음
    표 7. RegExp 일치 인덱스("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 표준 모드
    ||= 기본 지원 지원됨 지원되지 않음
    ||= 단락(short circuit) 동작 지원됨 지원되지 않음
    ||= 불필요하게 호출되지 않은 setter 지원됨 지원되지 않음
    &&= 기본 지원 지원됨 지원되지 않음
    &&= 단락(short circuit) 동작 지원됨 지원되지 않음
    &&= setter가 불필요하게 호출되지 않음 지원됨 지원되지 않음
    ?? = 기본 지원 지원됨 지원되지 않음
    ?? = 단락(short circuit) 동작 지원됨 지원되지 않음
    ?? = 불필요하게 호출되지 않은 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배열 지원되지 않음 지원되지 않음
    BigUint64Array 지원되지 않음 지원되지 않음
    DataView.prototype.getBigInt64 지원되지 않음 지원되지 않음
    DataView.prototype.getBigUint64 지원되지 않음 지원되지 않음
    표 17. 글로벌디스
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    "globalThis" 전역 속성은 전역 객체입니다. 지원됨 허용
    "globalThis" 전역 속성에 올바른 속성 설명자가 있습니다. 지원됨 허용
    표 18. 선택적 체인 연산자(?.)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    선택적 속성 접근 지원됨 지원되지 않음
    브래킷 접근(옵션) 지원됨 지원되지 않음
    선택적 메서드 호출 지원됨 지원되지 않음
    선택적 함수 호출 지원됨 지원되지 않음
    선택적 체인 후 확산 매개변수 지원됨 지원되지 않음
    표 19. Promise.allSettled
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Promise.allSettled 지원됨 허용
    표 20. Null 병합 연산자(??)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Nullish 병합 연산자(??) 지원됨 지원되지 않음

    ECMAScript 2019(ES10) 기능

    표 21. 기호.프로토타입.설명
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원됨 지원되지 않음
    빈 설명 지원됨 지원되지 않음
    정의되지 않은 설명 지원됨 지원되지 않음
    표 22. 문자열 트리밍
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.trimLeft 지원됨 지원됨
    String.prototype.trimRight 지원됨 지원됨
    String.prototype.trimStart 지원됨 지원되지 않음
    String.prototype.trimEnd 지원됨 지원되지 않음
    표 23. Array.prototype입니다. {플랫, 플랫맵}
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.flat 지원됨 지원되지 않음
    Array.prototype.flatMap 지원됨 지원되지 않음
    Array.prototype[@@unscopables]의 flat 및 flatMap 지원됨 지원되지 않음
    표 24. Object.fromEntries
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.fromEntries 지원됨 지원되지 않음
    표 25. 선택적 캐치 바인딩
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원됨 허용
    기다리다 허용 허용
    양도하다 허용 허용
    표 26. Function.prototype.toString 개정판
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Function 생성자로 만든 함수 허용 허용
    화살표 허용 허용
    [네이티브 코드] 허용 허용
    암시적 생성자가 있는 클래스 표현식 허용 허용
    명시적 생성자가 있는 클래스 표현식 허용 허용
    식별자의 유니코드 이스케이프 시퀀스 허용 허용
    메서드 및 계산된 속성 이름 허용 허용
    표 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. Promise.prototype.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.values 지원됨 지원되지 않음
    Object.entries 지원됨 지원되지 않음
    Object.getOwnPropertyDescriptors 지원됨 지원되지 않음
    Object.getOwnPropertyDescriptors는 정의되지 않은 설명자를 제공하지 않습니다. 지원되지 않음 지원되지 않음
    표 38. 문자열 패딩
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.padStart 지원됨 지원되지 않음
    String.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] 허용 허용
    Atomics.add 허용 허용
    Atomics.및 허용 허용
    Atomics.compareExchange 허용 허용
    Atomics.exchange 허용 허용
    Atomics.wait 허용 허용
    Atomics.wake 허용 허용
    Atomics.isLockFree 허용 허용
    Atomics.load 허용 허용
    Atomics.또는 허용 허용
    Atomics.store 허용 허용
    Atomics.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. 프록시 내부 호출, 게터/세터 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    __defineGetter__ 지원됨 허용
    __defineSetter__ 지원됨 허용
    __lookupGetter__ 지원됨 허용
    __lookupSetter__ 지원됨 허용

    ECMAScript 2016(ES7) 기능

    표 44. 지수(**) 연산자
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 지원 지원됨 지원되지 않음
    숙제 지원됨 지원되지 않음
    괄호가 없는 단항 부정에 대한 초기 구문 오류 허용 허용
    표 45. Array.prototype.includes
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.includes 지원됨 지원되지 않음
    Array.prototype.includes는 제네릭입니다. 지원되지 않음 지원되지 않음
    %TypedArray%.prototype.includes 지원됨 허용

    ECMAScript 2015(ES6) 기능

    표 46. 적절한 테일 콜(테일 콜 최적화)
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    직접 재귀 허용 허용
    상호 재귀 허용 허용
    표 47. 기본 함수 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    명시적 undefined는 기본값으로 연기됩니다. 지원됨 지원되지 않음
    기본값은 이전 매개변수를 참조할 수 있습니다. 지원됨 지원되지 않음
    인수 객체 상호작용 지원됨 지원되지 않음
    시간적 데드존 허용 허용
    별도의 범위 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    표 48. REST 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    함수 'length' 속성 지원됨 지원되지 않음
    인수 객체 상호작용 지원되지 않음 지원되지 않음
    setter에서 사용할 수 없습니다. 허용 허용
    new Function() 지원 허용 허용
    표 49. 반복 가능한 객체에 대한 스프레드 구문
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 사용, 함수 호출 지원됨 지원되지 않음
    배열 포함, 배열 리터럴 지원됨 지원되지 않음
    희소 배열 사용, 함수 호출 지원됨 지원되지 않음
    희소 배열 사용, 배열 리터럴 지원됨 지원되지 않음
    문자열, 함수 호출 지원됨 지원되지 않음
    문자열, 배열 리터럴 지원됨 지원되지 않음
    아스트랄 평면 문자열과 함께, 함수 호출에서 지원됨 지원되지 않음
    아스트랄 평면 문자열, 배열 리터럴 지원됨 지원되지 않음
    생성기 인스턴스 포함, 호출 중 허용 허용
    생성기 인스턴스 포함, 배열 허용 허용
    일반 반복 가능 항목 사용, 호출 중 지원됨 지원되지 않음
    일반 이터러블을 사용하면 배열에서 지원됨 지원되지 않음
    iterables의 인스턴스와 함께, 지원됨 지원되지 않음
    배열의 반복 가능한 인스턴스 포함 지원됨 지원되지 않음
    non-iterables를 퍼뜨리는 것은 런타임 오류입니다. 지원됨 지원되지 않음
    표 50. 객체 리터럴 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    계산된 속성 지원됨 지원되지 않음
    약식 속성 지원됨 지원되지 않음
    약식 방법 지원됨 지원되지 않음
    문자열 키 약식 메서드 지원됨 지원되지 않음
    계산된 속기 메서드 지원됨 지원되지 않음
    계산된 접근자 지원됨 지원되지 않음
    표 51. For-of 루프
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열과 함께 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 지원됨 지원되지 않음
    제네릭 이터러블의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기, 중단 지원됨 지원되지 않음
    반복기 닫기, 던지기 지원됨 지원되지 않음
    표 52. 8진수 및 이진 리터럴
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    8진수 리터럴 지원됨 지원되지 않음
    이진 리터럴 지원됨 지원되지 않음
    Number()에서 지원하는 8진수 지원되지 않음 지원되지 않음
    Number ()에서 지원하는 바이너리 지원되지 않음 지원되지 않음
    표 53. 템플릿 리터럴
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    toString 변환 지원됨 지원되지 않음
    태그가 지정된 템플릿 리터럴 지원됨 지원되지 않음
    전달된 배열이 동결됩니다. 지원됨 지원되지 않음
    줄 바꿈 정규화 허용 허용
    TemplateStrings 호출 사이트 캐싱 지원됨 지원되지 않음
    TemplateStrings 영구 캐싱 지원됨 지원되지 않음
    표 54. RegExp "y" 및 "u" 플래그
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    "Y" 플래그 지원됨 지원되지 않음
    "y" 플래그, lastIndex 지원됨 지원되지 않음
    "u" 플래그 지원됨 지원되지 않음
    "u" 플래그, BMP가 아닌 유니코드 문자 지원됨 지원되지 않음
    "u" 플래그, 유니코드 코드 포인트 이스케이프 지원됨 지원되지 않음
    "U" 플래그, 케이스 접기 지원됨 지원되지 않음
    표 55. 구조화, 선언
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열과 함께 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 지원됨 지원되지 않음
    제네릭 이터러블의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 해제 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 undefined 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    단일 var 문의 여러 항목 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    for-in 루프 헤드 지원됨 지원되지 않음
    for-of 루프 헤드에서 지원됨 지원되지 않음
    캐치 헤드에서 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 시간적 데드 존 허용 허용
    표 56. 비구조화, 할당
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열과 함께 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 지원됨 지원되지 않음
    제네릭 이터러블의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 구조화 표현식 지원됨 지원되지 않음
    연쇄 반복 가능한 구조 해제 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 해제 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 비구조화 표현식 지원됨 지원되지 않음
    괄호로 묶인 왼쪽은 구문 오류입니다. 허용 허용
    연쇄 객체 구조 해제 지원됨 지원되지 않음
    null 및 undefined 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    중첩된 REST 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    표 57. 구조 분해, 매개변수
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 평면 문자열과 함께 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 반복 가능 지원됨 지원되지 않음
    제네릭 이터러블의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 해제 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 undefined 발생 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    '인수' 상호작용 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    매개변수에서 함수 'length' 속성 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 개별 범위 지원됨 지원되지 않음
    기본값, 새로운 Function() 지원 허용 허용
    별칭이 지정된 기본값, 화살표 기능 지원됨 지원되지 않음
    속기 기본값, 화살표 함수 지원됨 지원되지 않음
    중복 식별자 허용 허용
    표 58. 유니코드 코드 포인트 이스케이프
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자열 지원됨 지원되지 않음
    식별자 지원되지 않음 지원되지 않음
    속성 키 정의 내 지원되지 않음 지원되지 않음
    속성 키 액세스 내 지원되지 않음 지원되지 않음
    표 59. New.target
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    in 생성자 지원되지 않음 지원되지 않음
    할당이 초기 오류임 허용 허용
    표 60. 상수(Const)
    기능 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" 바인딩 지원됨 지원되지 않음
    메서드의 어휘 "super" 바인딩 지원됨 지원되지 않음
    어휘 "new.target" 바인딩 지원되지 않음 지원되지 않음
    표 64. 클래스
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    class 문 지원됨 지원되지 않음
    블록 범위 지정 지원됨 지원되지 않음
    클래스 표현식 지원됨 지원되지 않음
    익명 클래스 지원됨 지원되지 않음
    생성자 지원됨 지원되지 않음
    프로토타입 메서드 지원됨 지원되지 않음
    문자열 키 메서드 지원됨 지원되지 않음
    계산된 프로토타입 메서드 지원됨 지원되지 않음
    선택적 세미콜론 지원됨 지원되지 않음
    정적 메서드 지원됨 지원되지 않음
    계산된 정적 메서드 지원됨 지원되지 않음
    접근자 속성 지원됨 지원되지 않음
    계산된 접근자 속성 지원됨 지원되지 않음
    정적 접근자 속성 지원됨 지원되지 않음
    계산된 정적 접근자 속성 지원됨 지원되지 않음
    클래스 이름은 어휘 범위가 지정됨 지원됨 지원되지 않음
    계산된 이름, 시간적 데드 존 지원되지 않음 지원되지 않음
    메서드를 열거할 수 없습니다. 지원됨 지원되지 않음
    암시적 엄격 모드 지원되지 않음 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    확장 지원됨 지원되지 않음
    표현식 확장 지원됨 지원되지 않음
    null 확장 지원됨 지원되지 않음
    new.target 지원됨 지원되지 않음
    표 65. 슈퍼
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    생성자의 명령문 지원됨 지원되지 않음
    생성자의 표현식 지원됨 지원되지 않음
    in 메서드, 속성 액세스 지원됨 지원되지 않음
    메서드에서, 메서드 호출 지원됨 지원되지 않음
    메서드 호출에서 올바른 "this" 바인딩 사용 지원됨 지원되지 않음
    생성자 호출이 올바른 "new.target" 바인딩을 사용합니다. 지원됨 지원되지 않음
    정적으로 바인딩됨 지원됨 지원되지 않음
    super()는 올바른 생성자를 호출합니다. 지원됨 지원되지 않음
    표 66. 작성기
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성기 함수 표현식 지원됨 허용
    "this" 바인딩 수정 지원됨 허용
    "this"를 new와 함께 사용할 수 없음 지원됨 허용
    보내는 지원됨 허용
    %제너레이터 프로토타입% 허용 허용
    %GeneratorPrototype% 프로토타입 체인 허용 허용
    %GeneratorPrototype%.constructor 허용 허용
    %GeneratorPrototype%.throw 허용 허용
    %GeneratorPrototype%.return 허용 허용
    yield 연산자 우선순위 허용 허용
    yield *, 배열 지원됨 허용
    yield *, 희소 배열 지원됨 허용
    yield *, 문자열 지원됨 허용
    yield *, 아스트랄 평면 문자열 지원됨 허용
    yield *, 생성기 인스턴스 지원됨 허용
    yield *, 일반 이터러블 지원됨 허용
    yield *, 반복 가능한 인스턴스 지원됨 허용
    yield * on non-iterables 는 런타임 오류입니다. 지원됨 허용
    yield *, 반복기 닫기 지원됨 허용
    yield *, throw()를 통해 닫는 반복기 지원됨 허용
    약식 생성기 방법 지원됨 허용
    문자열 키 속기 생성기 메서드 지원됨 허용
    계산된 속기 생성기 지원됨 허용
    속기 생성기 메서드, 클래스 지원됨 허용
    계산된 속기 생성기, 클래스 지원됨 허용
    약식 생성기는 생성자가 될 수 없습니다. 허용 허용
    표 67. 형식화된 배열
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Int8Array 지원됨 허용
    Uint8Array 지원됨 허용
    Uint8ClampedArray 지원됨 허용
    정수16Array 지원됨 허용
    Uint16Array 지원됨 허용
    Int32Array 지원됨 허용
    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%[Symbol.species] 허용 허용
    표 68. 지도
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    생성자 인수 지원됨 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    생성자는 null을 허용합니다. 지원됨 지원되지 않음
    생성자가 set 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    Map.prototype.set은 다음을 반환합니다. 지원됨 지원되지 않음
    -0 키는 +0으로 변환됩니다. 지원됨 지원되지 않음
    Map.prototype.size 지원됨 지원되지 않음
    Map.prototype.delete 지원됨 지원되지 않음
    맵.프로토타입.지우기 지원됨 지원되지 않음
    Map.prototype.forEach 지원됨 지원되지 않음
    Map.prototype.keys 지원됨 지원되지 않음
    Map.prototype.values 지원됨 지원되지 않음
    Map.prototype.entries 지원됨 지원되지 않음
    Map.prototype[Symbol.iterator] 지원됨 지원되지 않음
    Map.prototype은 인스턴스가 아닙니다. 지원됨 지원되지 않음
    반복기 프로토타입 체인 매핑 지원됨 지원되지 않음
    맵[Symbol.species] 지원됨 지원되지 않음
    표 69. 설정
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 지원되지 않음
    생성자 인수 지원됨 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    생성자는 null을 허용합니다. 지원됨 지원되지 않음
    생성자는 add 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    Set.prototype.add는 다음을 반환합니다. 지원됨 지원되지 않음
    -0 키는 +0으로 변환됩니다. 지원됨 지원되지 않음
    Set.prototype.size 지원됨 지원되지 않음
    Set.prototype.delete 지원됨 지원되지 않음
    Set.prototype.clear 지원됨 지원되지 않음
    Set.prototype.forEach 지원됨 지원되지 않음
    Set.prototype.keys 지원됨 지원되지 않음
    Set.prototype.values 지원됨 지원되지 않음
    Set.prototype.entries 지원됨 지원되지 않음
    Set.prototype[Symbol.iterator] 지원됨 지원되지 않음
    Set.prototype은 인스턴스가 아닙니다. 지원됨 지원되지 않음
    반복기 프로토타입 체인 설정 지원됨 지원되지 않음
    세트[Symbol.species] 지원됨 지원되지 않음
    표 70. WeakMap
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성자 인수 지원됨 허용
    생성자에 새 항목이 필요합니다. 지원됨 허용
    생성자는 null을 허용합니다. 지원됨 허용
    생성자가 set 지원됨 허용
    고정된 객체를 키로 지원됨 허용
    반복기 닫기 지원됨 허용
    WeakMap.prototype.set은 지원됨 허용
    WeakMap.prototype.delete 지원됨 허용
    WeakMap.prototype.clear 메서드가 없습니다. 지원됨 허용
    .has, .get 및 .delete 메서드는 기본 형식을 허용합니다. 허용 허용
    WeakMap.prototype은 인스턴스가 아닙니다. 허용 허용
    표 71. 약점 세트
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    생성자 인수 지원됨 허용
    생성자에 새 항목이 필요합니다. 지원됨 허용
    생성자는 null을 허용합니다. 지원됨 허용
    생성자는 add 지원됨 허용
    반복기 닫기 지원됨 허용
    WeakSet.prototype.add는 지원됨 허용
    WeakSet.prototype.delete 지원됨 허용
    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" 처리기 고정 지원됨 허용
    Proxy.revocable 지원됨 허용
    Array.isArray 지원 지원됨 허용
    JSON.stringify 지원 지원됨 허용
    표 73. 반사하다
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    반영.받기 허용 허용
    리플렉트.세트 허용 허용
    반영.has 허용 허용
    Reflect.deleteProperty 허용 허용
    Reflect.getOwnPropertyDescriptor 허용 허용
    Reflect.defineProperty 허용 허용
    Reflect.getPrototypeOf 허용 허용
    Reflect.setPrototypeOf 허용 허용
    Reflect.isExtensible 허용 허용
    Reflect.preventExtensions 허용 허용
    Reflect.ownKeys, 문자열 키 허용 허용
    Reflect.ownKeys, 심볼 키 허용 허용
    반영.적용 허용 허용
    리플렉트.구성 허용 허용
    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()은 지원됨 지원되지 않음
    개체(기호) 지원되지 않음 지원되지 않음
    JSON.stringify는 기호 프리미티브를 무시합니다. 지원됨 지원되지 않음
    JSON.stringify는 기호 객체를 무시합니다. 지원되지 않음 지원되지 않음
    전역 기호 레지스트리 지원됨 지원되지 않음
    표 76. 잘 알려진 기호
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Symbol.hasInstance 지원됨 허용
    Symbol.isConcatSpreadable 지원됨 허용
    Symbol.iterator, 존재 지원됨 허용
    Symbol.iterator, 인수 객체 지원됨 허용
    Symbol.species, 존재 지원됨 허용
    Symbol.species, Array.prototype.concat 허용 허용
    Symbol.species, Array.prototype.filter 허용 허용
    Symbol.species, Array.prototype.map 허용 허용
    Symbol.species, Array.prototype.slice 허용 허용
    Symbol.species, Array.prototype.splice 허용 허용
    Symbol.species, RegExp.prototype[Symbol.split] 허용 허용
    Symbol.species, Promise.prototype.then 허용 허용
    기호.바꾸기 지원됨 허용
    Symbol.search 지원됨 허용
    Symbol.split 지원됨 허용
    Symbol.match 지원됨 허용
    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.assign 지원됨 지원되지 않음
    Object.is 지원됨 지원되지 않음
    Object.getOwnPropertySymbols 지원됨 지원되지 않음
    Object.setPrototypeOf 지원됨 지원되지 않음
    표 78. 기능 "이름" 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    함수 문 지원됨 지원됨
    함수 표현식 지원됨 지원됨
    new 함수 지원되지 않음 지원되지 않음
    바인딩된 함수 지원되지 않음 지원되지 않음
    변수(함수) 지원됨 지원되지 않음
    객체 메서드 (함수) 지원됨 지원되지 않음
    접근자 속성 지원되지 않음 지원되지 않음
    약식 방법 지원됨 지원되지 않음
    약식 메서드(어휘 바인딩 없음) 지원됨 지원되지 않음
    기호 키 메서드 지원되지 않음 지원되지 않음
    클래스 문 지원됨 지원되지 않음
    클래스 표현식 지원됨 지원되지 않음
    변수(클래스) 지원됨 지원되지 않음
    객체 메서드(클래스) 지원되지 않음 지원되지 않음
    클래스 프로토타입 메서드 지원됨 지원되지 않음
    클래스 정적 메서드 지원됨 지원되지 않음
    쓸 수 없으며 구성할 수 있습니다. 지원됨 지원되지 않음
    표 79. 문자열 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.raw 지원됨 지원되지 않음
    String.fromCodePoint 지원됨 지원되지 않음
    표 80. String.prototype 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    String.prototype.codePointAt 지원됨 지원됨
    String.prototype.normalize 지원됨 지원됨
    String.prototype.repeat 지원됨 지원됨
    String.prototype.startsWith 지원됨 지원됨
    String.prototype.startsWith 는 RegExp에서 발생합니다. 지원되지 않음 지원되지 않음
    String.prototype.endsWith 지원됨 지원됨
    String.prototype.endsWith 는 RegExp에서 발생합니다. 지원되지 않음 지원되지 않음
    String.prototype.includes 지원됨 지원됨
    String.prototype[Symbol.iterator] 지원됨 지원되지 않음
    문자열 반복기 프로토타입 체인 지원됨 지원되지 않음
    표 81. RegExp.prototype 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    RegExp.prototype.flags 지원됨 지원되지 않음
    RegExp.prototype[기호.일치] 지원됨 지원되지 않음
    RegExp.prototype [기호 바꾸기] 지원됨 지원되지 않음
    RegExp.prototype[Symbol.split] 지원됨 지원되지 않음
    RegExp.prototype[기호.검색] 지원됨 지원되지 않음
    RegExp[Symbol.species] 지원됨 지원되지 않음
    표 82. 배열 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.from, 배열과 유사한 객체 지원됨 지원되지 않음
    Array.from, 생성기 인스턴스 지원됨 허용
    Array.from, 일반 반복 가능 지원됨 지원되지 않음
    Array.from, 일반 반복 가능한 인스턴스 지원됨 지원되지 않음
    Array.from map 함수, 배열형 객체 지원됨 지원되지 않음
    Array.from map 함수, 생성기 인스턴스 지원됨 허용
    Array.from map 함수, 일반 반복 가능 지원됨 지원되지 않음
    Array.from map 함수, 반복 가능한 인스턴스 지원됨 지원되지 않음
    Array.from, 반복기 닫기 지원됨 지원되지 않음
    Array.of 지원됨 지원되지 않음
    배열[Symbol.species] 지원됨 지원되지 않음
    표 83. Array.prototype 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.copyWithin 지원됨 지원되지 않음
    Array.prototype.find 지원됨 지원되지 않음
    Array.prototype.findIndex 지원됨 지원되지 않음
    Array.prototype.fill 지원됨 지원되지 않음
    Array.prototype.keys 지원됨 지원되지 않음
    Array.prototype.values 지원됨 지원되지 않음
    Array.prototype.entries 지원됨 지원되지 않음
    Array.prototype[Symbol.iterator] 지원됨 지원되지 않음
    배열 반복기 프로토타입 체인 지원됨 지원되지 않음
    Array.prototype[Symbol.unscopables] 지원됨 지원되지 않음
    표 84. 번호 속성
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Number.isFinite 지원됨 지원되지 않음
    Number.isInteger 지원됨 지원되지 않음
    Number.isSafeInteger 지원됨 지원되지 않음
    Number.isNaN 지원됨 지원되지 않음
    숫자.parseFloat 지원됨 허용
    숫자.parseInt 지원됨 허용
    번호.EPSILON 지원됨 지원되지 않음
    Number.MIN_SAFE_INTEGER 지원됨 지원되지 않음
    Number.MAX_안전_정수 지원됨 지원되지 않음
    표 85. 수학 방법
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Math.clz32 지원됨 지원되지 않음
    Math.imul 지원됨 지원되지 않음
    Math.sign 지원됨 지원되지 않음
    수학.log10 지원됨 지원되지 않음
    Math.log2 지원됨 지원되지 않음
    Math.log1p 지원됨 지원되지 않음
    Math.expm1 지원됨 지원되지 않음
    Math.cosh 지원됨 지원되지 않음
    Math.sinh 지원됨 지원되지 않음
    Math.tanh 지원됨 지원되지 않음
    Math.acosh 지원됨 지원되지 않음
    Math.asinh 지원됨 지원되지 않음
    Math.atanh 지원됨 지원되지 않음
    Math.trunc 지원됨 지원되지 않음
    Math.fround 지원됨 지원되지 않음
    Math.cbrt 지원됨 지원되지 않음
    Math.hypot 지원됨 지원되지 않음
    표 86. Date.prototype[Symbol.toPrimitive]
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Date.prototype[Symbol.toPrimitive] 지원됨 지원되지 않음
    표 87. 배열은 하위 분류 가능합니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    length 속성(액세스) 허용 허용
    length 속성(설정) 허용 허용
    올바른 프로토타입 체인 허용 허용
    Array.isArray 지원 지원됨 허용
    Array.prototype.concat 지원됨 허용
    Array.prototype.filter 지원됨 허용
    Array.prototype.map 지원됨 허용
    Array.prototype.slice 지원됨 허용
    Array.prototype.splice 지원됨 허용
    Array.from 지원됨 허용
    Array.of 지원됨 허용
    표 88. RegExp는 하위 분류 가능합니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    올바른 프로토타입 체인 허용 허용
    RegExp.prototype.exec 허용 허용
    RegExp.prototype.test 허용 허용
    표 89. 함수는 하위 분류 가능함
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    호출될 수 있음 허용 허용
    올바른 프로토타입 체인 허용 허용
    "new"와 함께 사용할 수 있습니다. 허용 허용
    Function.prototype.call 허용 허용
    Function.prototype.apply 허용 허용
    함수.프로토타입.바인드 허용 허용
    표 90. Promise는 하위 분류 가능합니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    올바른 프로토타입 체인 허용 허용
    약속.모두 허용 허용
    약속.경주 허용 허용
    표 91. 기타 하위 분류 가능
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    부울은 하위 분류 가능합니다. 허용 허용
    번호는 하위 분류 가능함 허용 허용
    문자열은 하위 분류 가능합니다. 허용 허용
    오류는 하위 분류 가능함 허용 허용
    맵은 하위 분류 가능합니다. 허용 허용
    세트는 하위 분류 가능입니다. 허용 허용
    표 92. 바인딩된 함수의 프로토타입
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 허용 허용
    생성기 기능 허용 허용
    화살표 기능 허용 허용
    클래스 허용 허용
    서브 클래스 허용 허용
    표 93. 프록시, 내부 '가져오기' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    ToPrimitive 지원됨 허용
    CreateListFromArrayLike 지원됨 허용
    instanceof 연산자 지원됨 허용
    HasBinding 지원됨 허용
    CreateDynamicFunction (동적 함수 만들기) 지원됨 허용
    ClassDefinitionEvaluation (클래스 정의 평가) 지원됨 허용
    IteratorComplete, IteratorValue 지원됨 허용
    ToPropertyDescriptor 지원됨 허용
    Object.assign 지원됨 허용
    Object.defineProperties 지원됨 허용
    함수.프로토타입.바인드 지원됨 허용
    Error.prototype.toString 지원됨 허용
    String.raw 지원됨 허용
    RegExp 생성자 지원됨 허용
    RegExp.prototype.flags 지원됨 허용
    RegExp.prototype.test 지원됨 허용
    RegExp.prototype.toString 지원됨 허용
    RegExp.prototype[기호.일치] 지원됨 허용
    RegExp.prototype [기호 바꾸기] 지원됨 허용
    RegExp.prototype[기호.검색] 지원됨 허용
    RegExp.prototype[Symbol.split] 지원됨 허용
    Array.from 지원됨 허용
    Array.prototype.concat 지원됨 허용
    Array.prototype 반복 메서드 지원됨 허용
    Array.prototype.pop 지원됨 허용
    Array.prototype.reverse 지원됨 허용
    Array.prototype.shift 지원됨 허용
    Array.prototype.splice 지원됨 허용
    Array.prototype.toString 지원됨 허용
    JSON.stringify 지원됨 허용
    약속 해결 기능 지원됨 허용
    String.prototype.match 지원됨 허용
    String.prototype.replace 지원됨 허용
    String.prototype.search 지원됨 허용
    String.prototype.split 지원됨 허용
    Date.prototype.toJSON 지원됨 허용
    표 94. 프록시, 내부 '세트' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.assign 지원됨 허용
    Array.from 지원됨 허용
    Array.of 지원됨 허용
    Array.prototype.copyWithin 지원됨 허용
    Array.prototype.fill 지원됨 허용
    Array.prototype.pop 지원됨 허용
    Array.prototype.push 지원됨 허용
    Array.prototype.reverse 지원됨 허용
    Array.prototype.shift 지원됨 허용
    Array.prototype.splice 지원됨 허용
    Array.prototype.unshift 지원됨 허용
    표 95. 프록시, 내부 'defineProperty' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    [[설정]] 지원됨 허용
    SetIntegrityLevel 지원됨 허용
    표 96. 프록시, 내부 'deleteProperty' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.prototype.copyWithin 지원됨 허용
    Array.prototype.pop 지원됨 허용
    Array.prototype.reverse 지원됨 허용
    Array.prototype.shift 지원됨 허용
    Array.prototype.splice 지원됨 허용
    Array.prototype.unshift 지원됨 허용
    표 97. 프록시, 내부 'getOwnPropertyDescriptor' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    [[설정]] 지원됨 허용
    Object.assign 지원됨 허용
    Object.prototype.hasOwnProperty 지원됨 허용
    함수.프로토타입.바인드 지원됨 허용
    표 98. 프록시, 내부 'ownKeys' 호출
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    SetIntegrityLevel 지원됨 허용
    테스트 무결성 수준 지원됨 허용
    SerializeJSONObject 지원됨 허용
    표 99. 객체 정적 메서드는 기본 형식을 허용합니다.
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.getPrototypeOf 허용 허용
    Object.getOwnPropertyDescriptor 허용 허용
    Object.getOwnPropertyNames 허용 허용
    Object.seal 허용 허용
    객체.동결 허용 허용
    Object.preventExtensions 허용 허용
    Object.isSealed 허용 허용
    Object.isFrozen 허용 허용
    Object.isExtensible 허용 허용
    Object.keys 허용 허용
    표 100. 자신의 재산 주문
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.keys 지원됨 허용
    Object.getOwnPropertyNames 지원됨 허용
    Object.assign 허용 허용
    JSON.stringify 허용 허용
    JSON.parse 허용 허용
    Reflect.ownKeys, 문자열 키 순서 허용 허용
    Reflect.ownKeys, 기호 키 순서 허용 허용
    표 101. 업데이트된 식별자 구문
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    var â ̧ ̄; 허용 허용
    var ð ‹€; 허용 허용
    식별자로 이스케이프된 예약어 없음 허용 허용
    표 102. 엄격하지 않은 함수 의미 체계
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    호이스팅된 블록 수준 함수 선언 지원됨 허용
    레이블이 지정된 함수 문 허용 허용
    If 문 절의 함수 문 허용 허용
    표 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. RegExp.prototype.컴파일
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    기본 기능 지원됨 허용
    이 값을 반환합니다. 지원됨 허용
    표 107. RegExp 구문 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자 세트의 하이픈 허용 허용
    잘못된 문자 이스케이프 허용 허용
    잘못된 control-character 이스케이프 허용 허용
    잘못된 유니코드 이스케이프 허용 허용
    잘못된 16진수 이스케이프 허용 허용
    불완전한 패턴 및 수량자 허용 허용
    8진수 이스케이프 시퀀스 허용 허용
    잘못된 역참조가 8진수 이스케이프가 됨 허용 허용

    ECMAScript 2009 (ES5) 기능

    표 108. 개체/배열 리터럴 확장
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Getter 접근자 지원됨 지원됨
    setter 접근자 지원됨 지원됨
    객체 리터럴의 후행 쉼표 지원됨 지원됨
    배열 리터럴의 후행 쉼표 지원됨 지원됨
    속성 이름으로 사용되는 예약어 지원됨 지원됨
    표 109. 객체 정적 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Object.create 지원됨 지원됨
    Object.defineProperty 지원됨 지원됨
    Object.defineProperties 지원됨 지원됨
    Object.getPrototypeOf 지원됨 지원됨
    Object.keys 지원됨 지원됨
    Object.seal 지원됨 지원됨
    객체.동결 지원됨 지원됨
    Object.preventExtensions 지원됨 지원됨
    Object.isSealed 지원됨 지원됨
    Object.isFrozen 지원됨 지원됨
    Object.isExtensible 지원됨 지원됨
    Object.getOwnPropertyDescriptor 지원됨 지원됨
    Object.getOwnPropertyNames 지원됨 지원됨
    표 110. 배열 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Array.isArray 지원됨 지원됨
    Array.prototype.indexOf 지원됨 지원됨
    Array.prototype.lastIndexOf 지원됨 지원됨
    Array.prototype.every 지원됨 지원됨
    Array.prototype.some 지원됨 지원됨
    Array.prototype.forEach 지원됨 지원됨
    Array.prototype.map 지원됨 지원됨
    Array.prototype.filter 지원됨 지원됨
    Array.prototype.reduce 지원됨 지원됨
    Array.prototype.reduceRight 지원됨 지원됨
    Array.prototype.sort: compareFn 은 함수이거나 정의되지 않은 상태여야 합니다. 지원됨 지원되지 않음
    Array.prototype.sort: compareFn 은 명시적이고 정의되지 않은 것일 수 있습니다. 지원됨 지원됨
    표 111. 문자열 속성 및 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    문자열에 대한 속성 액세스 지원됨 지원됨
    String.prototype.split 지원됨 지원되지 않음
    문자열.프로토타입.trim 지원됨 지원됨
    표 112. 날짜 방법
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Date.prototype.toISOString 지원됨 지원됨
    날짜.현재 지원됨 지원됨
    Date.prototype.toJSON 지원됨 지원되지 않음
    표 113. 불변 전역
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    정의되지 않음 지원됨 지원됨
    NaN 지원됨 지원됨
    Infinity 지원됨 지원됨
    표 114. 숫자 메서드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    Number.prototype.toExponential을 올바르게 반올림합니다. 지원됨 지원됨
    Number.prototype.toExponential은 ±Infinity fractionDigits에 throw됩니다. 지원됨 지원됨
    Number.prototype.toExponential은 엣지 케이스에 던지지 않습니다. 지원됨 지원됨
    표 115. 엄격 모드
    기능 ECMAScript 2021(ES12) 모드 ES5 표준 모드
    예약어 허용 허용
    "this"는 함수에 정의되어 있지 않습니다. 허용 허용
    "this"는 원시적인 방법으로 객체를 강제하지 않습니다. 허용 허용
    "this"는 기본 접근자에서 object로 강제되지 않습니다. 허용 허용
    레거시 옥탈은 SyntaxError입니다. 지원됨 허용
    확인할 수 없는 식별자에 대한 할당은 ReferenceError입니다. 지원됨 허용
    eval 또는 arguments에 대한 할당은 SyntaxError입니다. 지원됨 허용
    쓸 수 없는 속성에 대한 할당은 TypeError입니다. 지원됨 허용
    eval 또는 arguments bindings 는 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 지원됨 지원됨