You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
913 B
28 lines
913 B
'use strict';
|
|
// TODO: Remove from `core-js@4`
|
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
var toObject = require('../internals/to-object');
|
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
|
|
// `Array.prototype.lastIndex` accessor
|
|
// https://github.com/keithamus/proposal-array-last
|
|
if (DESCRIPTORS) {
|
|
defineBuiltInAccessor(Array.prototype, 'lastItem', {
|
|
configurable: true,
|
|
get: function lastItem() {
|
|
var O = toObject(this);
|
|
var len = lengthOfArrayLike(O);
|
|
return len === 0 ? undefined : O[len - 1];
|
|
},
|
|
set: function lastItem(value) {
|
|
var O = toObject(this);
|
|
var len = lengthOfArrayLike(O);
|
|
return O[len === 0 ? 0 : len - 1] = value;
|
|
}
|
|
});
|
|
|
|
addToUnscopables('lastItem');
|
|
}
|