UNPKG

913 BJavaScriptView Raw
1'use strict';
2// TODO: Remove from `core-js@4`
3var DESCRIPTORS = require('../internals/descriptors');
4var addToUnscopables = require('../internals/add-to-unscopables');
5var toObject = require('../internals/to-object');
6var lengthOfArrayLike = require('../internals/length-of-array-like');
7var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
8
9// `Array.prototype.lastIndex` accessor
10// https://github.com/keithamus/proposal-array-last
11if (DESCRIPTORS) {
12 defineBuiltInAccessor(Array.prototype, 'lastItem', {
13 configurable: true,
14 get: function lastItem() {
15 var O = toObject(this);
16 var len = lengthOfArrayLike(O);
17 return len === 0 ? undefined : O[len - 1];
18 },
19 set: function lastItem(value) {
20 var O = toObject(this);
21 var len = lengthOfArrayLike(O);
22 return O[len === 0 ? 0 : len - 1] = value;
23 }
24 });
25
26 addToUnscopables('lastItem');
27}