Frontend/Javascript

Array.prototype.slice.call 이해하기

Developer Mobssie 2018. 12. 18. 17:03

Array.prototype.slice.call 이해하기


우선,

slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열객체로 반환한다. (원본 배열은 수정되지 않는다.)

Array는 new Array()에서 새 배열을 만드는 객체이다. Array는 프로토타입에 모든 원시 배열 메서드가 있는 객체.

이러한 새로운 배열에는 slice와 같은 메서드와 속성이 전달되며, 이러한 메서드는 [Class].prototype 개체에 저장된다.



    var arr = new Array();

Array으로 인스턴스를 만든다. 이것은 기본적으로 arr 객체가 프로토타입 체인에 Array의 프로토타입을 추가한다는 것을 의미한다. 인스턴스를 만드는 대신 Array 프로토타입에서 'slice' 메서드를 직접 사용하고 인수의 'this'값을 전달한다.




[참고 사이트]

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

https://code.i-harness.com/ko-kr/q/6bae1d