| 'use strict'; | 
| var $ = require('../internals/export'); | 
| var toObject = require('../internals/to-object'); | 
| var lengthOfArrayLike = require('../internals/length-of-array-like'); | 
| var toIntegerOrInfinity = require('../internals/to-integer-or-infinity'); | 
| var addToUnscopables = require('../internals/add-to-unscopables'); | 
|   | 
| // `Array.prototype.at` method | 
| // https://tc39.es/ecma262/#sec-array.prototype.at | 
| $({ target: 'Array', proto: true }, { | 
|   at: function at(index) { | 
|     var O = toObject(this); | 
|     var len = lengthOfArrayLike(O); | 
|     var relativeIndex = toIntegerOrInfinity(index); | 
|     var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; | 
|     return (k < 0 || k >= len) ? undefined : O[k]; | 
|   } | 
| }); | 
|   | 
| addToUnscopables('at'); |