직접 정의하는 것은 쉽습니다. 이것이 바로 JavaScript의 힘입니다.
if(!Array.prototype.last) {
Array.prototype.last = function() {
return this[this.length - 1];
}
}
var arr = [1, 2, 5];
arr.last(); // 5
그러나 이로 인해 for..in루프를 사용하여 배열을 반복 하는 타사 코드에 문제가 발생할 수 있습니다 .
그러나 브라우저 지원 문제에 얽매이지 않는 경우 새 ES5 구문을 사용하여 속성 을 정의 하면 다음 과 같이 함수를 열거 할 수 없도록 만들어 해당 문제를 해결할 수 있습니다.
Object.defineProperty(Array.prototype, 'last', {
enumerable: false,
configurable: true,
get: function() {
return this[this.length - 1];
},
set: undefined
});
var arr = [1, 2, 5];
arr.last; // 5
item= array.pop();.