티스토리 뷰
var list = {0: 'a', 1: 'b', 2: 'c', length: 3 }; // 유사배열객체
console.log(slice.call(list,1));
// Array.prototype.slice는 아래와 같은 형태의 함수를 가진다고 한다.
function slice($start, $end) {
var i, j, result;
result = [];
j = $end === undefined ? this.length : $end;
for (i = $start; i < j; i++) {
result[result.length] = this[i];
}
return result;
}
배열 메서드인 Array.prototype.slice()는 유사배열객체는 사용할 수 없다.
하지만 call()의 this를 통해 유사배열객체를 연결해서 배열로 변경할 수 있다.
[공부좌표]
'JavaScript > 이론' 카테고리의 다른 글
[JS] window.matchMedia css의 미디어쿼리 같은 기능 (0) | 2022.12.05 |
---|---|
[JS] Window.matchMedia() (0) | 2022.05.26 |
[JS] Q. undefined와 null의 차이는? (0) | 2022.03.05 |
[JS] 데이터 프로퍼티(data property) 플래그 - writable, enumerable, configurable (0) | 2022.03.04 |
[JavaScript] Element.getBoundingClientRect() (0) | 2021.12.22 |
댓글