-
[JS] for in과 for ofprograming/Language 2019. 3. 19. 13:47
안녕하세요, Einere입니다.
(ADblock을 꺼주시면 감사하겠습니다.)
오늘은 for in구문과 for of구문의 차이점에 대해 알아보도록 하겠습니다.
for in
문법
Mozila에서 찾아보니, "이름"이 할당된다고 합니다.
예시
var book = { name: "Nature of Code", price: 30000, author: "Daniel Sheepman", pages: 620 }; var output = ""; with(book){ for(var key in book){ output += key + " : " + book[key] + "\n"; } } /* name : Nature of Code price : 30000 author : Daniel Sheepman pages : 620 */
위와 같이, for in구문을 사용한다면 객체의 키값이 할당됩니다.for of
문법
for in과는 다르게 "값"이 할당된다고 하네요.
예시
let arr = [52, 263, 103, 32, 57, 103, 2]; let min = arr[0]; let max = arr[0]; for(let e of arr) { if(e < min) min = e; if(e > max) max = e; } console.log(min); // 2 console.log(max); // 263
for of구문에서는 value가 할당이 되므로, key에 해당하는 index에 따른 값이 출력되는 것을 알 수 있습니다.차이점
for of와 for in의 차이점은 위와 같습니다.
간단히 하자면, for in은 객체용, for of는 배열용이라고 생각하시면 편합니다.
예시
Object.prototype.objCustom = function () {}; Array.prototype.arrCustom = function () {}; let iterable = [3, 5, 7]; iterable.foo = "hello"; for (let i in iterable) { console.log(i); // 0, 1, 2, "foo", "arrCustom", "objCustom" } for (let i of iterable) { console.log(i); // 3, 5, 7 }
'programing > Language' 카테고리의 다른 글
[JS] JavaScript에 대한 다양한 개념들 (0) 2019.04.04 [Java] Initial assignment (0) 2019.03.27 [Express] router에서 async await callback사용하기 (2) 2019.02.06 [Vue, Express] Vue와 Express로 간단한 웹 개발하기 2 (0) 2019.02.04 [Vue, Express] Vue와 Express로 간단한 웹 개발하기 1 (5) 2019.01.26 댓글