개발모음집

js window, 유사배열, 스코프 본문

client

js window, 유사배열, 스코프

void 2020. 2. 12. 10:00

window 객체 : 바로 브라우저의 요소들과 자바스크립트 엔진, 그리고 모든 변수를 담고 있는 객체입니다.
여기서 브라우저 전체를 담당하는 게 Window 객체이고, 웹사이트만 담당하는게 Document 객체라고 이해하시면 됩니다.
window는 모든 객체의 조상입니다. 전역객체(글로벌객체)라고 하는데요. 모든 객체를 다 포함하고 있기 때문에 window는 그냥 생략가능합니다.

브라우저나, 운영체제(OS) 대한 정보가 있습니다(navigator.userAgent). userAgent 정보를 바탕으로 분석 사이트에서는 고객에 대한 정보를 분석합니다.


유사 배열이란?

자바 스크립트에서는 배열처럼 인덱스로 접근이 가능하고 lengh 프로퍼티를 가진 객체를 유사 배열객체(array-like objects) 라고 부릅니다

출처 : https://jw910911.tistory.com/12


그런데 유사배열은 배열의 메서드를 사용할 수 없다. (ex forEach, call, apply ... 와 같은 메서드)


대표적인 유사배열 : function에 숨겨져있는 매개변수 arguments 


유사배열을 쓰는 이유?

​ 만약 어떤 함수에서 결과값으로 배열값을 리턴해주고 싶을 때나, 원래의 배열객체가 가지고 있는 함수들을 사용하고 싶지 않을 때, 원래 배열에 없는 기능을 제공하고 싶을 때 유사배열을 이용한다. 

[출처] [JavaScript] 유사 배열 객체|작성자 임우찬




array인지 체크하는 방법 

Array.isArray(alanWalker);

출처 : https://www.zerocho.com/category/JavaScript/post/5af6f9e707d77a001bb579d2