iterat
iterator protocol, iterable protocol 포함하여 생성된 내장객체는 순환참조가 가능하다. spread연산자, for..of 사용 할 수 있다. msdn api에서 prototype을 확인함
const strArray = ["바나나", "오렌지", "복숭아"];
for (str of strArray) {
console.log(str);
}
const charArray = "hello,javascript";
for (char of charArray) {
console.log(char);
}
문자열이 iterable protocol 이 적용되어 구현 할 수 있게됨
const tmap = new Map();
tmap.set(0, "test1");
tmap.set(1, "test2");
//[symbol.iterator]
const tmapArray = tmap[Symbol.iterator]();
console.log(tmap.get(1));
//test2 키값 1을가지고있는
for (const ta of tmapArray) {
console.log(ta);
}
for of 와 for in
for of 사용 할 수 있는 이유
어레이는 iterator 프로토콜를 상속받아서 그안의 next함수를 이어받아서 for of를 실행 할 수있습니다.
const tObj = {
name: "홍길동",
age: 20,
};
for (kim of tObj) {
console.log(tObj);
}
// 에러발생
for (kim in tObj) {
console.log(kim);
}
//키값 출력
for (kim in tObj) {
console.log(tObj[kim]);
}
//value 출력
'프로그래밍 > Weekly I Learned' 카테고리의 다른 글
2023.09.16 + 호이스팅 (0) | 2023.09.16 |
---|---|
2023.09.14+ scope, api 주소검색 (0) | 2023.09.16 |
2023.09.12+ 프로미스,깃허브연습 (0) | 2023.09.12 |
2023.09.11+ 자바스크립트 spread문법, symbol (0) | 2023.09.11 |
2023.09.08 + json파일 fetch로 연동해서 코드길이 줄이기 (0) | 2023.09.08 |