본문 바로가기
Frontend

Javascript 배열과 유사배열

by 구라미 2020. 2. 5.

 

 

 

Javascript 배열과 유사배열

var nums = [1,2,3];
var nodes = document.querySelectorAll('div'); // NodeList [div, div, div, div, div, ...]
var els = document.body.children; // HTMLCollection [noscript, link, div, script, ...]

Array.isArray(nums); // true
Array.isArray(nodes); // false
Array.isArray(els); // false

 

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

nodes, els 처럼 []로 감싸져 있지만 배열이 아닌 것을 유사배열이라고 하는데 유사배열일 때 배열의 메소드를 사용할 수 없다. 배열 메소드를 바로 사용할 수는 없고 빌려서 쓸 수 있는 방법이 있는데 배열 프로토타입에서 forEach메소드를 빌려오는 것이다.

 

Array.prototype.forEach.call(nodes, function(el) { 
			console.log(el); 
});

[].forEach.call(els, function(el) { 
console.log(el); 
});

//위와 같이 사용한다.

 

Javascript에서 this

자바스크립트의 경우 Java와 같이 this에 바인딩되는 객체는 한가지가 아니라 해당 함수 호출 방식에 따라 this에 바인딩되는 객체가 달라진다.

함수를 호출하는 방식은

  1. 함수 호출
  2. 메소드 호출
  3. 생성자 함수 호출
  4. apply/call/bind 호출

이 있다.

'Frontend' 카테고리의 다른 글

CSS | scroll을 제어하는 CSS  (0) 2020.02.05
VS Code에서 기본 터미널 변경하는 방법  (0) 2020.02.05
Typescript | 개발환경 설정  (0) 2020.02.03
Project Ideas  (0) 2020.01.31
2020 프론트엔드 개발자 로드맵  (0) 2020.01.29

댓글