Language/JavaScript

for / for in / for of

idleday 2022. 12. 15. 22:51

 

 

for...in - JavaScript | MDN

for...in문은 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다. (Symbol로 키가 지정된 속성은 무시합니다.)

developer.mozilla.org

 

 

for 루프문

<script>
my = "";
you = ["하나 ", "둘 ", "셋 ", "넷 ", "다섯"];
for (i = 0; i < you.length; i++) {
    my += you[i];
}
document.write(my);
</script>
<!-- 결과 : 하나 둘 셋 넷 다섯 -->
 

 

for in 

length 가 필요없습니다.

객체의 각 속성 이름이 변수에 할당됩니다.

const object = { a: 1, b: 2, c: 3 };

for (const property in object) {
  console.log(`${property}: ${object[property]}`);
}

// expected output:
// "a: 1"
// "b: 2"
// "c: 3"

포인문은 배열이 아닌 객체를 위해 존재하는 구문입니다.

임의의 순서로 요소를 방문하기에, 아래 예시처럼 배열 반복을 위한 사용은 추천되지 않습니다.

<script>
my = "";
you = ["하나 ", "둘 ", "셋 ", "넷 ", "다섯"];
for (i in you) {
    my += you[i];
}
document.write(my);
</script>
<!-- 결과 : 하나 둘 셋 넷 다섯 -->
 

예컨대 div 는 어떤 것들을 갖고 있는지 확인하려면...

<div id=you></div>
<script>
my = "";
for (i in you) {
    my += you[i];
}
document.write(my);
</script>
 

 

for of 

length 는 물론 대괄호도 필요없습니다.

객체의 각 개별 속성값이 변수에 할당됩니다.

<script>
my = "";
you = ["하나 ", "둘 ", "셋 ", "넷 ", "다섯"];
for (i of you) {
    my += i;
}
document.write(my);
</script>
<!-- 결과 : 하나 둘 셋 넷 다섯 -->
 

 

for each

 parent 와 this 가 딱 분리가 됩니다.

주어진 함수를 각 배열 요소에 대해 실행합니다.

const array1 = ['a', 'b', 'c'];

array1.forEach(element => console.log(element));

// expected output: "a"
// expected output: "b"
// expected output: "c"

'Language > JavaScript' 카테고리의 다른 글

[JS] 문자열 자르기  (0) 2023.11.08
자바스크립트 람다식(화살표 함수)  (0) 2023.04.19
Broadcast Channel API  (0) 2023.04.19
Emoji 삭제  (1) 2023.04.14
formData 키값 출력  (0) 2023.04.12