JavaScript 엔진 기능 지원

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기51분
  • 에서 ECMAScript 2021(ES12) 과 ES5 표준 JavaScript 모드 간의 ECMAScript 기능을 비교합니다 Xanadu . 두 모드 모두 ECMAScript 기능의 하위 집합을 지원합니다.

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

    지원 정의

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

    ECMAScript 2022(ES13) 기능

    중요사항:
    프로덕션에 코드를 배포하기 전에 이 ECMAScript 버전에서 기능이 새로 추가되고 부분적으로 지원되므로 지원되는 ECMAScript 2022(ES13) 기능을 사용하여 스크립트를 철저히 테스트해야 합니다.
    표 1. 인스턴스 클래스 필드
    기능 ECMAScript 2021(ES12) ES5 표준
    공개 인스턴스 클래스 필드 지원됨 지원되지 않음
    비공개 인스턴스 클래스 필드 기본 지원 지원되지 않음 지원되지 않음
    개인 인스턴스 클래스 필드 이니셜라이저 지원되지 않음 지원되지 않음
    선택적 프라이빗 인스턴스 클래스 필드 접근 지원되지 않음 지원되지 않음
    딥 프라이빗 인스턴스 클래스 필드 액세스(옵션) 지원되지 않음 지원되지 않음
    계산된 인스턴스 클래스 필드 지원됨 지원되지 않음
    표 2. 정적 클래스 필드
    기능 ECMAScript 2021(ES12) ES5 표준
    공용 정적 클래스 필드 지원됨 지원되지 않음
    정적 클래스 필드에서 [[정의]] 사용 지원됨 지원되지 않음
    개인 정적 클래스 필드 지원됨 지원되지 않음
    계산된 정적 클래스 필드 지원됨 지원되지 않음
    표 3. private 클래스 메서드
    기능 ECMAScript 2021(ES12) ES5 표준
    개인 인스턴스 메서드 지원되지 않음 지원되지 않음
    개인 정적 메서드 지원됨 지원되지 않음
    전용 접근자 속성 지원되지 않음 지원되지 않음
    private static 접근자 속성 지원됨 지원되지 않음
    표 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. 정규 표현식 일치 인덱스("hasIndices" / "d" 플래그)
    기능 ECMAScript 2021(ES12) ES5 표준
    생성자가 지원합니다. 지원되지 않음 지원되지 않음
    플래그에 표시 지원되지 않음 지원되지 않음
    표 8. 개인 필드에 대한 인체공학적 브랜드 확인
    기능 ECMAScript 2021(ES12) ES5 표준
    개인 필드에 대한 인체공학적 브랜드 확인 지원되지 않음 지원되지 않음
    표 9. 클래스 정적 초기화 블록
    기능 ECMAScript 2021(ES12) ES5 표준
    클래스 정적 초기화 블록 지원됨 지원되지 않음

    ECMAScript 2021(ES12) 기능

    표 10. 약속.모든
    기능 ECMAScript 2021(ES12) ES5 표준
    이행 허용 허용
    집계 오류 허용 허용
    표 11. WeakReferences (약한 참조)
    기능 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. BigInt
    기능 ECMAScript 2021(ES12) ES5 표준
    기본 기능 지원되지 않음 지원되지 않음
    생성자 지원되지 않음 지원되지 않음
    BigInt.asUintN 지원되지 않음 지원되지 않음
    BigInt.asIntN 지원되지 않음 지원되지 않음
    BigInt64Array (영문) 지원되지 않음 지원되지 않음
    BigUint64 배열 지원되지 않음 지원되지 않음
    DataView.prototype.getBigInt64 지원되지 않음 지원되지 않음
    DataView.prototype.getBigUint64 지원되지 않음 지원되지 않음
    표 17. 글로벌이쪽
    기능 ECMAScript 2021(ES12) ES5 표준
    "globalThis" 전역 속성은 전역 객체입니다. 허용 허용
    "globalThis" 전역 속성에 올바른 속성 설명자가 있습니다. 허용 허용
    표 18. 선택적 연결 연산자(?.)
    기능 ECMAScript 2021(ES12) ES5 표준
    선택적 속성 접근 지원됨 지원되지 않음
    브래킷 접근(옵션) 지원됨 지원되지 않음
    선택적 메서드 호출 지원됨 지원되지 않음
    선택적 함수 호출 지원됨 지원되지 않음
    선택적 연결 후 매개변수 확산 지원됨 지원되지 않음
    표 19. 약속.allSettled
    기능 ECMAScript 2021(ES12) ES5 표준
    약속.allSettled 허용 허용
    표 20. Nullish 병합 연산자(??)
    기능 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의 flat 및 flatMap [@@unscopables] 지원됨 지원되지 않음
    표 24. Object.fromEntries
    기능 ECMAScript 2021(ES12) ES5 표준
    Object.fromEntries 지원됨 지원되지 않음
    표 25. 선택적 catch 바인딩
    기능 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. 객체 휴식/확산 속성
    기능 ECMAScript 2021(ES12) ES5 표준
    객체 REST 속성 지원됨 지원되지 않음
    객체 확산 속성 지원됨 지원되지 않음
    표 30. 약속.프로토 타입.마침내
    기능 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. 정규 표현식 유니코드 속성 이스케이프
    기능 ECMAScript 2021(ES12) ES5 표준
    정규 표현식 유니코드 속성 이스케이프 지원되지 않음 지원되지 않음
    표 36. 템플릿 리터럴 수정
    기능 ECMAScript 2021(ES12) ES5 표준
    템플릿 리터럴 수정 허용 허용

    ECMAScript 2017 (ES8) 기능

    표 37. 객체 정적 메서드
    기능 ECMAScript 2021(ES12) ES5 표준
    객체.값 지원됨 지원되지 않음
    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 표준
    돌아오다 허용 허용
    던지다 허용 허용
    async와 function 사이에 줄 바꿈 없음 허용 허용
    "프로토타입" 속성 없음 허용 허용
    기다리다 허용 허용
    대기, 거부 허용 허용
    값을 기다려야 합니다. 허용 허용
    약속이 아닌 값을 기다릴 수 있음 허용 허용
    매개변수에서 대기할 수 없음 허용 허용
    비동기 메서드, 개체 리터럴 허용 허용
    비동기 메서드, 클래스 허용 허용
    메서드, 클래스의 비동기 화살표 함수 허용 허용
    비동기 화살표 함수 허용 허용
    올바른 프로토타입 체인 허용 허용
    비동기 함수 프로토 타입, Symbol.toStringTag 허용 허용
    비동기 함수 생성자 허용 허용
    표 41. 공유 메모리 및 원자성
    기능 ECMAScript 2021(ES12) ES5 표준
    공유 어레이 버퍼 허용 허용
    SharedArrayBuffer[Symbol.species] 공유 배열 버퍼 허용 허용
    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.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. 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 표준
    기본 기능 지원됨 지원되지 않음
    명시적 정의되지 않은 경우 기본값을 연기합니다. 지원됨 지원되지 않음
    기본값은 이전 매개변수를 참조할 수 있습니다. 지원됨 지원되지 않음
    arguments 객체 상호 작용 지원됨 지원되지 않음
    일시적 데드존 허용 허용
    별도 범위 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    표 48. REST 매개변수
    기능 ECMAScript 2021(ES12) ES5 표준
    기본 기능 지원됨 지원되지 않음
    함수 'length' 속성 지원됨 지원되지 않음
    arguments 객체 상호 작용 지원되지 않음 지원되지 않음
    setter에서 사용할 수 없습니다. 허용 허용
    new Function() 지원 허용 허용
    표 49. 반복 가능한 객체에 대한 spread 구문
    기능 ECMAScript 2021(ES12) ES5 표준
    배열 사용, 함수 호출 지원됨 지원되지 않음
    배열 사용, 배열 리터럴 지원됨 지원되지 않음
    희소 배열 사용, 함수 호출 지원 지원되지 않음
    희소 배열 사용, 배열 리터럴 지원됨 지원되지 않음
    문자열 사용, 함수 호출 지원 지원되지 않음
    문자열 사용, 배열 리터럴 지원됨 지원되지 않음
    아스트랄 평면 문자열을 사용하여 함수 호출 지원 지원되지 않음
    아스트랄 플레인 문자열 사용, 배열 리터럴 지원됨 지원되지 않음
    with generator instances, in calls 허용 허용
    생성기 인스턴스 사용, 배열 허용 허용
    제네릭 이터러블 사용, 호출 중 지원됨 지원되지 않음
    배열에서 일반 반복 가능 항목 사용 지원됨 지원되지 않음
    iterables의 인스턴스와 함께 호출 지원됨 지원되지 않음
    iterables의 인스턴스와 함께 배열로 지원됨 지원되지 않음
    non-iterables를 퍼뜨리는 것은 런타임 오류입니다. 지원 지원되지 않음
    표 50. 개체 리터럴 확장
    기능 ECMAScript 2021(ES12) ES5 표준
    계산된 속성 지원됨 지원되지 않음
    약식 속성 지원됨 지원되지 않음
    단축 방법 지원됨 지원되지 않음
    문자열 키 단축 메서드 지원됨 지원되지 않음
    계산된 단축 방법 지원됨 지원되지 않음
    계산된 접근자 지원됨 지원되지 않음
    표 51. For 루프
    기능 ECMAScript 2021(ES12) ES5 표준
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 플레인 스트링으로 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 iterables 포함 지원됨 지원되지 않음
    일반 iterables의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기, 중단 지원됨 지원되지 않음
    반복기 닫기, 던지기 지원됨 지원되지 않음
    표 52. Octal 및 binary 리터럴
    기능 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 표준
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 플레인 스트링으로 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 iterables 포함 지원됨 지원되지 않음
    일반 iterables의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 분해 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 undefined에서 throw됩니다. 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    단일 var 문의 다중 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    FOR-IN 루프 헤드 지원됨 지원되지 않음
    for-of 루프 헤드 지원됨 지원되지 않음
    캐치 헤드에서 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 임시 데드존을 허용하십시오. 허용 허용
    표 56. 구조화, 할당
    기능 ECMAScript 2021(ES12) ES5 표준
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 플레인 스트링으로 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 iterables 포함 지원됨 지원되지 않음
    일반 iterables의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 구조 분해 표현식 지원됨 지원되지 않음
    chained iterable destructuring 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 분해 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 구조 분해 표현식 지원됨 지원되지 않음
    괄호 왼쪽은 구문 오류입니다. 허용 허용
    연결된 객체 구조 분해 지원됨 지원되지 않음
    null 및 undefined에서 throw됩니다. 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    중첩 REST 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    표 57. 구조화, 매개 변수
    기능 ECMAScript 2021(ES12) ES5 표준
    배열 포함 지원됨 지원되지 않음
    희소 배열 사용 지원됨 지원되지 않음
    문자열 포함 지원됨 지원되지 않음
    아스트랄 플레인 스트링으로 지원됨 지원되지 않음
    생성기 인스턴스 포함 허용 허용
    일반 iterables 포함 지원됨 지원되지 않음
    일반 iterables의 인스턴스 포함 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    반복 가능한 패턴의 후행 쉼표 지원됨 지원되지 않음
    객체 포함 지원됨 지원되지 않음
    프리미티브를 사용한 객체 구조 분해 지원됨 지원되지 않음
    객체 패턴의 후행 쉼표 지원됨 지원되지 않음
    null 및 undefined에서 throw됩니다. 지원됨 지원되지 않음
    계산된 속성 지원됨 지원되지 않음
    중첩 지원됨 지원되지 않음
    '인수' 상호작용 지원됨 지원되지 않음
    new Function() 지원 허용 허용
    매개 변수에서 함수 'length' 속성 지원됨 지원되지 않음
    쉬다 지원됨 지원되지 않음
    빈 패턴 지원됨 지원되지 않음
    기본값 지원됨 지원되지 않음
    기본값, 별도의 범위 지원됨 지원되지 않음
    기본값, new 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" 지원됨 지원되지 않음
    묶을 수 없고 커리할 수 있음 지원됨 지원되지 않음
    어휘 "인수" 바인딩 지원됨 지원되지 않음
    매개변수와 => 사이에 줄 바꿈 없음 허용 허용
    올바른 우선순위 허용 허용
    "프로토타입" 속성 없음 지원되지 않음 지원되지 않음
    생성자의 어휘 "슈퍼" 바인딩 지원됨 지원되지 않음
    메서드의 어휘 "슈퍼" 바인딩 지원됨 지원되지 않음
    어휘 "new.target" 바인딩 지원되지 않음 지원되지 않음
    표 64. 클래스
    기능 ECMAScript 2021(ES12) ES5 표준
    class 문 지원됨 지원되지 않음
    블록 범위임 지원됨 지원되지 않음
    클래스 표현식 지원됨 지원되지 않음
    익명 클래스 지원됨 지원되지 않음
    생성자 지원됨 지원되지 않음
    프로토타입 메서드 지원됨 지원되지 않음
    문자열 키 메서드 지원됨 지원되지 않음
    계산된 프로토타입 메서드 지원됨 지원되지 않음
    선택적 세미콜론 지원됨 지원되지 않음
    정적 메서드 지원됨 지원되지 않음
    계산된 정적 메서드 지원됨 지원되지 않음
    접근자 속성 지원됨 지원되지 않음
    계산된 접근자 속성 지원됨 지원되지 않음
    정적 접근자 속성 지원됨 지원되지 않음
    계산된 정적 접근자 속성 지원됨 지원되지 않음
    클래스 이름이 어휘적으로 범위가 지정됨 지원됨 지원되지 않음
    계산된 이름, 임시 데드존 지원되지 않음 지원되지 않음
    메서드는 열거할 수 없습니다. 지원됨 지원되지 않음
    암시적 엄격 모드 지원되지 않음 지원되지 않음
    생성자에 새 항목이 필요합니다. 지원됨 지원되지 않음
    확장 지원됨 지원되지 않음
    표현식 확장 지원됨 지원되지 않음
    null 확장 지원됨 지원되지 않음
    신규.대상 지원됨 지원되지 않음
    표 65. 슈퍼
    기능 ECMAScript 2021(ES12) ES5 표준
    생성자의 명령문 지원됨 지원되지 않음
    생성자의 표현식 지원됨 지원되지 않음
    in 메서드, 속성 액세스 지원됨 지원되지 않음
    메서드, 메서드 호출 지원됨 지원되지 않음
    메서드 호출은 올바른 "this" 바인딩을 사용합니다. 지원됨 지원되지 않음
    생성자 호출은 올바른 "new.target"바인딩을 사용합니다. 지원됨 지원되지 않음
    정적으로 바인딩됨 지원됨 지원되지 않음
    super()는 올바른 생성자를 호출합니다 지원됨 지원되지 않음
    표 66. 작성기
    기능 ECMAScript 2021(ES12) ES5 표준
    기본 기능 허용 허용
    생성기 함수 표현식 허용 허용
    올바른 "this" 바인딩 허용 허용
    "this"를 새 항목과 함께 사용할 수 없습니다. 허용 허용
    보내는 허용 허용
    %제너레이터프로토타입% 허용 허용
    %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 (영문) 허용 허용
    Uint8 배열 허용 허용
    Uint8ClampedArray (영문) 허용 허용
    Int16Array (영문) 허용 허용
    Uint16형 배열 허용 허용
    Int32Array (영문) 허용 허용
    Uint32 배열 허용 허용
    플로트 32 배열 허용 허용
    플로트 64 배열 허용 허용
    DataView(Int8) 허용 허용
    DataView(uint8) 허용 허용
    DataView(Int16) 허용 허용
    DataView (uint16) 허용 허용
    DataView(Int32) 허용 허용
    DataView(uint32) 허용 허용
    DataView(Float32) 허용 허용
    DataView(Float64) 허용 허용
    배열 버퍼[Symbol.species] 허용 허용
    생성자는 새 허용 허용
    생성자는 제네릭 iterables를 허용합니다. 허용 허용
    올바른 프로토타입 체인 허용 허용
    %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.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을 허용합니다. 지원됨 지원되지 않음
    생성자가 집합을 호출합니다. 지원됨 지원되지 않음
    반복기 닫기 지원됨 지원되지 않음
    Map.prototype.set은 지원됨 지원되지 않음
    -0 키는 +0으로 변환됩니다. 지원됨 지원되지 않음
    맵.프로토타입.크기 지원됨 지원되지 않음
    Map.prototype.delete 지원됨 지원되지 않음
    Map.prototype.clear 지원됨 지원되지 않음
    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을 허용합니다. 허용 허용
    생성자가 집합을 호출합니다. 허용 허용
    고정된 객체를 키로 허용 허용
    반복기 닫기 허용 허용
    WeakMap.prototype.set은 허용 허용
    WeakMap.prototype.delete 허용 허용
    WeakMap.prototype.clear 메서드 없음 허용 허용
    .has, .get 및 .delete 메서드는 프리미티브를 허용합니다. 허용 허용
    WeakMap.prototype은 인스턴스가 아닙니다. 허용 허용
    표 71. WeakSet
    기능 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" 핸들러, 프록시 인스턴스 허용 허용
    "set" 처리기 고정 허용 허용
    "has" 핸들러 허용 허용
    "has" 핸들러, 프록시 인스턴스 허용 허용
    "has" 처리기 고정 허용 허용
    "deleteProperty" 핸들러 허용 허용
    "deleteProperty" 핸들러 고정 허용 허용
    "getOwnPropertyDescriptor" 핸들러 허용 허용
    "getOwnPropertyDescriptor" 핸들러 고정 허용 허용
    "defineProperty" 핸들러 허용 허용
    "defineProperty" 핸들러 고정 허용 허용
    "getPrototypeOf" 핸들러 허용 허용
    "getPrototypeOf" 핸들러 불변성 허용 허용
    "setPrototypeOf" 핸들러 허용 허용
    "setPrototypeOf" 핸들러 불변 허용 허용
    "isExtensible" 처리기 허용 허용
    "isExtensible" 처리기 고정 허용 허용
    "preventExtensions" 핸들러 허용 허용
    "preventExtensions" 핸들러 불변성 허용 허용
    "ownKeys" 핸들러 허용 허용
    "ownKeys" 핸들러 고정 허용 허용
    "apply" 핸들러 허용 허용
    "apply" 핸들러 불변성 허용 허용
    "construct" 핸들러 허용 허용
    "construct" 처리기 고정 허용 허용
    프록시.무효화 가능 허용 허용
    Array.isArray 지원 허용 허용
    JSON.stringify 지원 허용 허용
    표 73. 반사하다
    기능 ECMAScript 2021(ES12) ES5 표준
    Reflect.get (반영.얻기) 허용 허용
    Reflect.set (리플렉트.세트) 허용 허용
    반영.이(가) 있음 허용 허용
    Reflect.deleteProperty 허용 허용
    Reflect.getOwnPropertyDescriptor 허용 허용
    Reflect.defineProperty 허용 허용
    Reflect.getPrototypeOf (영문) 허용 허용
    Reflect.setPrototypeOf 허용 허용
    리플렉트.is확장 가능 허용 허용
    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 (기호.isConcatSpreadable) 허용 허용
    Symbol.iterator, 존재 허용 허용
    Symbol.iterator, arguments 객체 허용 허용
    Symbol.species, 존재 허용 허용
    Symbol.species, Array.prototype.concat 허용 허용
    Symbol.species, 배열.프로토타입.필터 허용 허용
    Symbol.species, Array.prototype.map 허용 허용
    Symbol.species, Array.prototype.slice 허용 허용
    기호.종, 배열.프로토타입.스플라이스 허용 허용
    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.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.startsWith 지원됨 지원됨
    String.prototype.startsWith 는 RegExp에서 발생합니다. 지원되지 않음 지원되지 않음
    String.prototype.endsWith 지원됨 지원됨
    String.prototype.endsWith 는 RegExp에서 발생합니다. 지원되지 않음 지원되지 않음
    문자열.프로토 타입.포함 지원됨 지원됨
    String.prototype [Symbol.iterator] 지원됨 지원되지 않음
    문자열 반복기 프로토타입 체인 지원됨 지원되지 않음
    표 81. RegExp.prototype 속성
    기능 ECMAScript 2021(ES12) ES5 표준
    RegExp.prototype.flags 지원됨 지원되지 않음
    RegExp.prototype[기호.일치] 지원되지 않음 지원되지 않음
    RegExp.prototype[기호.바꾸기] 지원됨 지원되지 않음
    정규 표현식.프로토타입[기호.분할] 지원됨 지원되지 않음
    RegExp.prototype[기호.검색] 지원되지 않음 지원되지 않음
    정규 표현식 [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 함수, iterable의 인스턴스 지원됨 지원되지 않음
    Array.from, 반복기 닫기 지원됨 지원되지 않음
    배열.of 지원됨 지원되지 않음
    배열[Symbol.species] 지원됨 지원되지 않음
    표 83. Array.prototype 메소드
    기능 ECMAScript 2021(ES12) ES5 표준
    Array.prototype.copyWithin 지원됨 지원되지 않음
    배열.프로토타입.찾기 지원됨 지원되지 않음
    Array.prototype.findIndex (영문) 지원됨 지원되지 않음
    배열.프로토 타입.채우기 지원됨 지원되지 않음
    Array.prototype.keys 지원됨 지원되지 않음
    Array.prototype.values 지원됨 지원되지 않음
    배열.프로토타입.엔트리 지원됨 지원되지 않음
    Array.prototype [Symbol.iterator] 지원됨 지원되지 않음
    배열 반복기 프로토타입 체인 지원됨 지원되지 않음
    Array.prototype[Symbol.unscopables] 지원됨 지원되지 않음
    표 84. 숫자 속성
    기능 ECMAScript 2021(ES12) ES5 표준
    Number.isFinite 지원됨 지원되지 않음
    Number.isInteger 지원됨 지원되지 않음
    Number.isSafeInteger (번호.isSafeInteger) 지원됨 지원되지 않음
    번호.isNaN 지원됨 지원되지 않음
    Number.parseFloat (숫자.parseFloat) 허용 허용
    Number.parseInt 허용 허용
    번호.EPSILON 지원됨 지원되지 않음
    Number.MIN_SAFE_INTEGER 지원됨 지원되지 않음
    Number.MAX_SAFE_INTEGER 지원됨 지원되지 않음
    표 85. 수학 방법
    기능 ECMAScript 2021(ES12) ES5 표준
    수학.clz32 지원됨 지원되지 않음
    수학.imul 지원됨 지원되지 않음
    수학.기호 지원됨 지원되지 않음
    Math.log10 지원됨 지원되지 않음
    수학.log2 지원됨 지원되지 않음
    Math.log1p 지원됨 지원되지 않음
    수학.expm1 지원됨 지원되지 않음
    Math.cosh 지원됨 지원되지 않음
    수학.sinh 지원됨 지원되지 않음
    Math.tanh 지원됨 지원되지 않음
    수학.acosh 지원됨 지원되지 않음
    Math.asinh 지원됨 지원되지 않음
    Math.atanh 지원됨 지원되지 않음
    Math.trunc 지원됨 지원되지 않음
    Math.fround 지원됨 지원되지 않음
    Math.cbrt 지원됨 지원되지 않음
    수학.hypot 지원됨 지원되지 않음
    표 86. Date.prototype[Symbol.toPrimitive]
    기능 ECMAScript 2021(ES12) ES5 표준
    Date.prototype[Symbol.toPrimitive] 지원됨 지원되지 않음
    표 87. 배열은 서브클래싱할 수 있습니다.
    기능 ECMAScript 2021(ES12) ES5 표준
    length 속성(액세스) 허용 허용
    길이 속성(설정) 허용 허용
    올바른 프로토타입 체인 허용 허용
    Array.isArray 지원 허용 허용
    Array.prototype.concat 허용 허용
    Array.prototype.filter 허용 허용
    Array.prototype.map 허용 허용
    Array.prototype.slice (배열.프로토 타입.슬라이스) 허용 허용
    배열.프로토 타입.스플 라이스 허용 허용
    배열.from 허용 허용
    배열.of 허용 허용
    표 88. RegExp는 서브클래싱이 가능합니다.
    기능 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 연산자 허용 허용
    HasBinding (바인딩 포함) 허용 허용
    CreateDynamicFunction (동적 함수 생성) 허용 허용
    클래스 정의 평가 허용 허용
    IteratorComplete, IteratorValue 허용 허용
    ToPropertyDescriptor (영문) 허용 허용
    Object.assign 허용 허용
    Object.defineProperties 허용 허용
    함수.프로토 타입.바인드 허용 허용
    오류.프로토타입.toString 허용 허용
    String.raw 허용 허용
    RegExp 생성자 허용 허용
    RegExp.prototype.flags 허용 허용
    정규 표현식.프로토타입.테스트 허용 허용
    RegExp.prototype.toString (영문) 허용 허용
    RegExp.prototype[기호.일치] 허용 허용
    RegExp.prototype[기호.바꾸기] 허용 허용
    RegExp.prototype[기호.검색] 허용 허용
    정규 표현식.프로토타입[기호.분할] 허용 허용
    배열.from 허용 허용
    Array.prototype.concat 허용 허용
    Array.prototype 반복 메서드 허용 허용
    Array.prototype.pop (영문) 허용 허용
    Array.prototype.reverse 허용 허용
    Array.prototype.shift 허용 허용
    배열.프로토 타입.스플 라이스 허용 허용
    Array.prototype.toString 허용 허용
    JSON.stringify 허용 허용
    Promise 해결 기능 허용 허용
    문자열.프로토타입.매치 허용 허용
    String.prototype.replace 허용 허용
    String.prototype.search 허용 허용
    문자열.프로토타입.분할 허용 허용
    Date.prototype.toJSON 허용 허용
    표 94. 프록시, 내부 '설정' 호출
    기능 ECMAScript 2021(ES12) ES5 표준
    Object.assign 허용 허용
    배열.from 허용 허용
    배열.of 허용 허용
    Array.prototype.copyWithin 허용 허용
    배열.프로토 타입.채우기 허용 허용
    Array.prototype.pop (영문) 허용 허용
    Array.prototype.푸시 허용 허용
    Array.prototype.reverse 허용 허용
    Array.prototype.shift 허용 허용
    배열.프로토 타입.스플 라이스 허용 허용
    Array.prototype.unshift 허용 허용
    표 95. 프록시, 내부 "defineProperty" 호출
    기능 ECMAScript 2021(ES12) ES5 표준
    [[세트]] 허용 허용
    무결성 수준 설정 허용 허용
    표 96. 프록시, 내부 "deleteProperty" 호출
    기능 ECMAScript 2021(ES12) ES5 표준
    Array.prototype.copyWithin 허용 허용
    Array.prototype.pop (영문) 허용 허용
    Array.prototype.reverse 허용 허용
    Array.prototype.shift 허용 허용
    배열.프로토 타입.스플 라이스 허용 허용
    Array.prototype.unshift 허용 허용
    표 97. 프록시, 내부 "getOwnPropertyDescriptor" 호출
    기능 ECMAScript 2021(ES12) ES5 표준
    [[세트]] 허용 허용
    Object.assign 허용 허용
    Object.prototype.hasOwnProperty 허용 허용
    함수.프로토 타입.바인드 허용 허용
    표 98. 프록시, 내부 "ownKeys" 호출
    기능 ECMAScript 2021(ES12) ES5 표준
    무결성 수준 설정 허용 허용
    테스트 무결성 수준 허용 허용
    SerializeJSONObject 허용 허용
    표 99. 개체 정적 메서드는 기본 형식을 허용합니다.
    기능 ECMAScript 2021(ES12) ES5 표준
    Object.getPrototypeOf 허용 허용
    Object.getOwnPropertyDescriptor 허용 허용
    Object.getOwnPropertyNames 허용 허용
    Object.seal 허용 허용
    Object.freeze 허용 허용
    Object.preventExtensions 허용 허용
    Object.isSealed 허용 허용
    Object.isFrozen 허용 허용
    Object.isExtensible 허용 허용
    Object.keys 허용 허용
    표 100. 소유 재산 주문
    기능 ECMAScript 2021(ES12) ES5 표준
    Object.keys 허용 허용
    Object.getOwnPropertyNames 허용 허용
    Object.assign 허용 허용
    JSON.stringify 허용 허용
    JSON.구문 분석 허용 허용
    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. RegExp.prototype.compile (정규식.프로토타입.컴파일)
    기능 ECMAScript 2021(ES12) ES5 표준
    기본 기능 허용 허용
    다음을 반환합니다. 허용 허용
    표 107. RegExp 구문 확장
    기능 ECMAScript 2021(ES12) ES5 표준
    문자 집합의 하이픈 허용 허용
    유효하지 않은 문자 이스케이프 허용 허용
    잘못된 제어 문자 이스케이프 허용 허용
    잘못된 유니코드 이스케이프 허용 허용
    잘못된 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.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 지원됨 지원됨
    Array.prototype.every 지원됨 지원됨
    배열.프로토 타입.일부 지원됨 지원됨
    Array.prototype.forEach 지원됨 지원됨
    Array.prototype.map 지원됨 지원됨
    Array.prototype.filter 지원됨 지원됨
    Array.prototype.reduce 지원됨 지원됨
    Array.prototype.reduceRight 지원됨 지원됨
    Array.prototype.sort: compareFn은 함수이거나 정의되지 않은 상태여야 합니다. 지원되지 않음 지원되지 않음
    Array.prototype.sort : compareFn 은 명시 적으로 정의되지 않은 것일 수 있습니다. 지원됨 지원됨
    표 111. 문자열 속성 및 메서드String properties and methods
    기능 ECMAScript 2021(ES12) ES5 표준
    문자열에 대한 속성 액세스 지원됨 지원됨
    문자열.프로토타입.분할 지원됨 지원되지 않음
    문자열.프로토 타입.트림 지원됨 지원됨
    표 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에서 발생합니다. 지원됨 지원됨
    Number.prototype.toExponential 은 가장자리 케이스에서 발생하지 않습니다. 지원됨 지원됨
    표 115. 엄격 모드
    기능 ECMAScript 2021(ES12) ES5 표준
    예약어 허용 허용
    "this"는 함수에서 정의되지 않았습니다. 허용 허용
    "this"는 원시 메서드에서 객체로 강제되지 않습니다. 허용 허용
    "this"는 기본 접근자의 개체로 강제 변환되지 않습니다 허용 허용
    레거시 8진수는 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 지원됨 지원됨