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에 바인딩되는 객체가 달라진다.
함수를 호출하는 방식은
- 함수 호출
- 메소드 호출
- 생성자 함수 호출
- 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 |
댓글