JS

230112 JS ES6 for-of 구문과 Backtick

주영재 2023. 1. 12. 18:19

for of문
반복 가능한 iterable을 for문 안에서 반복시켜 연속된 결과값을 얻음
for Each문에서 지원하지 않는 break, continue, return 사용가능!

let arr=["a","b","c"];

for in

for(let i in arr){
	console.log(i); //i는 인덱스를 담아줌
}

 

for of

for(let i of arr){
	console.log(i); //값을 뽑음.
}

 

 

let arr = ["a", "b", "c"];

        for (let i in arr) {
            console.log(i); //index
        }

        console.log('---------------------------');

        for (let i of arr) {
            console.log(i); //value
        }

        console.log('---------------------------');

        //forof는 문자열도 가능
        for (let i of "hello world") {
            console.log(i);
        }

        console.log('---------------------------');

        let person = [
            { id: "aaa", age: 10 },
            { id: "bbb", age: 20 }
        ];
        //구조분해할당
        for (let { id, age } of person) {
            console.log(id);
            console.log(age);
        }
        console.log('---------------------------');
        //객체를 반복할순 없음
        let obj ={a:1, b:2};
        // for(let i of obj){
        //     console.log(i);
        // }
        //err
        //객체는 for in으로 돌린다.
            // for(let i in obj){
            //     console.log(i); //키가 나옴
            // }


Backtick
`을 이용해서 문자열을 표현하고, 템플릿 리터럴${}를 이용해서 필요값을 처리
let name="홍길동";
let age = 20;

기존

console.log('제 이름은'+name+'이고 나이는'+age+'입니다');


backtick

console.log(`제 이름은 ${name}이고 나이는 ${age}입니다`);



${}가 다른 명령문으로 인식되는 경우에는 사용할 수 없음.

	let name="이순신";
        let age=20;

        console.log("이름은: "+name+"이고, 나이는: "+age+"입니다.");
        console.log(`이름은: ${name}이고, 나이는: ${age}입니다.`);