내장 인덱서블의 at()

4707 단어 javascript
arr[arr.length-1]를 사용하여 배열의 마지막 요소에 액세스하려고 시도했을 수 있으며 [-indx] negative-index에 대한 지원이 있는지 궁금했지만 StringTypedArrays에는 -indx가 다음과 같이 적용되지 않습니다. 인덱스가 아닌 속성에 대한 속성입니다.

따라서 우리는 item() stage-3의 제안이 내장 인덱싱 가능한 객체의 프로토타입에 대한 메서드입니다: Array , StringTypedArrays 객체, 또한 전달될 때 끝에서 상대 인덱싱을 지원합니다. 음수 지수.

몇 가지 예를 살펴보겠습니다.

let nums = [1,2,3];

nums.at(0); // 1

nums.at(-1); // 3

nums.at(100); // undefined



let name = 'ECMA';

name.at(0); // "E"

name.at(-1); // "A"

name.at(100); // undefined



let unit8 = new Uint8Array([1,2,3]);
unit8.at(0); // 1

unit8.at(-1); // 3

unit8.at(100); // undefined

indx0 , NaN , null , +0 또는 -0에 대해 undefined로 변환됩니다.

이 제안이 채택되면 다음 레거시 인터페이스를 ObservableArray로 업그레이드할 수 있어야 합니다.
  • NodeList
  • 아마도 DOMTokenList 하위 클래스로
  • CSSRuleList
  • StyleSheetList
  • 아마도 CSSStyleDeclarationMediaList, 하위 클래스로
  • FileList

  • 업데이트:


    It's worth noting that YUI 2/3 duck-typing on item() means that we'll need a different name for web compat reasons. suggested at()

    — Alex Russell (@slightlylate)

    좋은 웹페이지 즐겨찾기