FE/JavaScript

[JS] for of ๊ณผ for in

mandelina 2022. 5. 11. 01:52

๐Ÿš€ in ?

in ์—ฐ์‚ฐ์ž๋Š” ๊ฐ์ฒด ๋‚ด ํŠน์ • ํ”„๋กœํผํ‹ฐ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•œ๋‹ค.

const person ={
    name:'delina',
    age:24
};

console.log('name' in person);  //true 
console.log('address' in person);  //false

 

name ํ”„๋กœํผํ‹ฐ๋Š” person๊ฐ์ฒด์— ์žˆ์œผ๋ฏ€๋กœ true,

address ํ”„๋กœํผํ‹ฐ๋Š” person๊ฐ์ฒด์— ์—†์œผ๋ฏ€๋กœ false

 

 

๐Ÿš€ for in ?

๊ฐ์ฒด์˜ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์—ด๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

 

const person ={
    name:'delina',
    age:24
};

for (const key in person){
    console.log(key +':'+person[key]);
}

 

- ์ด๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ key๊ฐ’์ด ์ถœ๋ ฅ ๋œ๋‹ค๋Š” ์ ์„ ์•Œ์•„๋‘์ž. 

- person๊ฐ์ฒด๋Š” 2๊ฐœ์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ 2๋ฒˆ ์ˆœํšŒํ•œ๋‹ค.

 

 

* ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฐ์—ด ์š”์†Œ์˜ ์ธ๋ฑ์Šค(key)์— ์ ‘๊ทผํ•œ๋‹ค.

const pocketmons = {
	ํ”ผ์นด์ธ„ : 1,
	๋ผ์ด์ธ„ : 2,
	ํŒŒ์ด๋ฆฌ : 3,
	๊ผฌ๋ถ€๊ธฐ : 4,
	๋ฒ„ํ„ฐํ”Œ : 5,
	์•ผ๋„๋ž€ : 6,
	ํ”ผ์ฃคํˆฌ : 7,
	๋˜๊ฐ€์Šค : 8,
	๋ฉ”ํƒ€๋ชฝ : 9,
};

// key ๊ฐ’ ์ถœ๋ ฅ 
for ( let pocketmon in pocketmons) {
	console.log(pocketmon);
}

// value ๊ฐ’ ์ถœ๋ ฅ
for ( let pocketmon in pocketmons) {
	console.log(`${pocketmons[pocketmon]}`);
}

 

 

 

*  ์ •ํ™•ํžˆ๋งํ•˜์ž๋ฉด for ... in๋ฌธ์€ ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ ์ƒ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœํ† ํƒ€์ž…์˜ ํ”„๋กœํผํ‹ฐ ์ค‘

  ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๊ฐ’์ด true์ธ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์—ด๊ฑฐํ•œ๋‹ค.

 

-> ์•„์ง ํ”„๋กœํ† ํƒ€์ž…์„ ์ •ํ™•ํžˆ ๋ชจ๋ฅด๋ฏ€๋กœ ์ •๋ฆฌํ›„ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ ํ•ด์•ผ๊ฒ ๋‹ค.

 

 


 

๐Ÿš€ for of ?

 

๋ฐฐ์—ด์˜ ์š”์†Œ ๊ฐ’(value)์— ๋ฐ”๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.

const seat = [['ํ”ผ์นด์ธ„' , '๋ผ์ด์ธ„', 'ํŒŒ์ด๋ฆฌ' ],
						  ['๊ผฌ๋ถ€๊ธฐ' , '๋ฒ„ํ„ฐํ”Œ', '์•ผ๋„๋ž€' ],
              ['ํ”ผ์ฃคํˆฌ' , '๋˜๊ฐ€์Šค', '๋ฉ”ํƒ€๋ชฝ' ]];

//for ๋ฌธ ์‚ฌ์šฉ
for (let i = 0; i < seat.length; i++) {
    const row = seat[i];
    for (let j = 0; j < row.length; j++) {
        console.log(row[j]);
    }
}

//for of ๋ฌธ ์‚ฌ์šฉ
for (let row of seat) {
    for (let pocketmon of row) {
        console.log(pocketmon);
    }
}

๋‘ ํ•จ์ˆ˜ ๋ชจ๋‘ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜์ง€๋งŒ for of๊ฐ€ ๊ฐ€๋…์„ฑ์ด ๋†’์•„๋ณด์ด๋Š”๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

 

 


 

[  for in ๊ณผ for of ์˜ ์ฐจ์ด์   ]

 

๐Ÿ„ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ์ฒด๋ฆฌํ„ฐ๋Ÿด , { key : value } ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋Š” ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๊ฐ€

์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— for of ๋ฌธ์„ ์“ฐ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค . ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ for in์„ ์“ด๋‹ค.

 

๐Ÿ„ Object ๋ฉ”์†Œ๋“œ๋“ค์„ ํ™œ์šฉํ•ด ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜ํ•ด์„œ for of ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.