Array.prototype[@@unscopables]

이 페이지에 스크립팅 오류가 있습니다. 오류가 사이트 편집자에 의해 처리되는 동안, 아래에 있는 부분 콘텐츠만 볼 수 있습니다.

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

{{JSRef}}

@@unscopable 기호 속성에는 ES2015 (ES6) 버전 이전의 ECMAScript 표준에 포함되지 않은 속성 이름이 포함되어 있습니다. 이러한 등록 정보는 명령문 Y 인딩에서 제외됩니다.

Syntax

arr[Symbol.unscopables]

Description

바인딩과 함께 제외되는 기본 배열 속성은 copyWithin, entries, fill, find, findIndex, includes, keys 및 values입니다.

자신의 개체에 대해 범위를 설정하는 방법은 {{jsxref ( "Symbol.unscopables")}}을 참조하십시오.

{{js_property_attributes (0,0,1)}}

Examples

다음 코드는 ES5 이하에서 잘 작동합니다. 그러나 ECMAScript 2015 (ES6) 이상에서는 {{jsxref ( "Array.prototype.keys ()"}}} 메서드가 도입되었습니다. 즉, 내부 환경에서는 "키"가 변수가 아니라 메소드가됩니다. 이제 내장 된 @ unscopables Array.prototype [@@ unscopables] 기호 속성이 작동하여 일부 Array 메서드가 with 문으로 범위 지정되는 것을 방지합니다.

var keys = [];

with(Array.prototype) {
  keys.push("something");
}

Object.keys(Array.prototype[Symbol.unscopables]); 
// ["copyWithin", "entries", "fill", "find", "findIndex", 
//  "includes", "keys", "values"]

Specifications

Specification Status Comment
{{SpecName('ES6', '#sec-array.prototype-@@unscopables', 'Array.prototype[@@unscopables]')}} {{Spec2('ES6')}} Initial definition.
{{SpecName('ESDraft', '#sec-array.prototype-@@unscopables', 'Array.prototype[@@unscopables]')}} {{Spec2('ESDraft')}}  

Browser compatibility

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatNo}} {{CompatGeckoDesktop("48")}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile("48")}} {{CompatNo}} {{CompatNo}} {{CompatNo}}

See also

  • {{jsxref("Symbol.unscopables")}}

문서 태그 및 공헌자

 이 페이지의 공헌자: imskojs
 최종 변경: imskojs,