๐ 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 ๋ฅผ ์ธ ์ ์๋ค.
'FE > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํด๋ก์ (Closure) (0) | 2022.05.11 |
---|---|
[JS] ๊ตฌ์กฐ๋ถํด ํ ๋น (0) | 2022.05.11 |
[JS] ๋ฐฐ์ด์ ๋ฉ์๋ - find , filter ,map (0) | 2022.05.11 |
[JS] ๋ฐฐ์ด - splice() , slice() ์ฐจ์ด (0) | 2022.05.03 |
[JS] String , Boolean , Object? (0) | 2022.05.02 |