
JavaScript: VanillaJs-DOM-#2-foreach
2022, Apr 10
๋ฐ์ดํฐ
์ฐ์ฐ์
var x = 3;
var y = 3;
// '==' x,y ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๊ฐ์ ๋น๊ต
// '===' x, y๊ฐ ์ฐธ์กฐํ๋ ๋ฐ์ค(์ฃผ์)์ ๋น๊ต
document.write(x == y); //true
document.write(x === y);//true
//์์ธ๋ก ๊ฐ๊ณผ ์ฃผ์์ ๋น๊ต๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ true, ์ฃผ์๋ ๋ค๋ฅผ ๊ฒ์ด๋ผ ์์ํ์.
//๊ทธ๋ ๋ค๋ฉด ๋ค๋ฅธ ๋ฐ์ค(์ฃผ์)์ ๋ด๊ณ ์ถ์ ๋๋?
var y = new Number(3);
document.write(x == y); //true
document.write(x === y);//false
//๋ค๋ฅธ ํ์ ๋ํ ์ฐ์ฐ
// '-' ์ฐ์ฐ์ : ์ซ์, ๋ฌธ์ => ์ซ์์ฐ์ฐ = 1
// - ์ฐ์ฐ์๋ ์ซ์๋ก ๋ณํ
document.write(3-"2");
document.write("<br />");
document.write("3"-2);
document.write("<br />");
document.write("3"-"2");
document.write("<br />");
// '+' ์ฐ์ฐ์ : ์ซ์, ๋ฌธ์ => ๋ฌธ์์ฐ์ฐ = 32
// + ์ฐ์ฐ์๋ ๋ฌธ์๋ก ๋ณํ
document.write(3+"2");
document.write("<br />");
document.write("3"+2);
document.write("<br />");
document.write("3"+"2");
์ ์ด๊ตฌ์กฐ
์กฐ๊ฑด๋ฌธ : if, while, do-while
๋ฐ๋ณต๋ฌธ : while, for, for-in
์ ํ๋ฌธ : else, else if, switch๋ฐ๋ณต๋ฌธ : foreach
arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])
callback
๊ฐ ์์์ ๋ํด ์คํํ ํจ์. ๋ค์ ์ธ ๊ฐ์ง ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์ต๋๋ค.
currentValue
์ฒ๋ฆฌํ ํ์ฌ ์์.
index Optional
์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค.
array Optional
forEach()๋ฅผ ํธ์ถํ ๋ฐฐ์ด.
thisArg Optional
callback์ ์คํํ ๋ this๋ก ์ฌ์ฉํ ๊ฐ.
//๋ฐฐ์ด ๋ฐ์ดํฐ์ ์ผ๋ฐ์ ์ธ ๋ฐ๋ณต๋ฌธ
var ar = ["hello","hi","greeting","bye"];
for(var i=0; i<ar.length; i++){
document.write(ar[i]+", ");
}
document.write("<br />");
document.write("<br />");
document.write("foreach just start <br />");
ar.forEach(function(el){
document.write(el+", ");
});
//๊ฒฐ๊ณผ : hello, hi, greeting, bye,
document.write("<br />");
document.write("<br />");
document.write("foreach func start <br />");
ar.forEach(function(el, i, arr){
document.write("el : "+el+", ");
document.write("<br />");
document.write("index : "+i+", ");
document.write("<br />");
document.write("arr : "+arr+", ");
document.write("<br />");
document.write("<br />");
});
document.write("<br />");
document.write("<br />");
document.write("foreach lamda start <br />");
ar.forEach((el,i,arr) => {
document.write("el : "+el+", ");
document.write("<br />");
document.write("index : "+i+", ");
document.write("<br />");
document.write("arr : "+arr+", ");
document.write("<br />");
document.write("<br />");
});
/**
* ๊ฒฐ๊ณผ
* el : hi,
*index : 1,
*arr : hello,hi,greeting,bye,
*
*el : greeting,
*index : 2,
*arr : hello,hi,greeting,bye,
*
*el : bye,
*index : 3,
*arr : hello,hi,greeting,bye,
*/
var list = ['a', 'b', 'c'];
var test = function(el,i,arr){console.log(el+this.arg)};
list.forEach(test,{arg:10});
> "a10"
> "b10"
> "c10"
๋ฐ๋ณต๋ฌธ : for-in
/**
* for-in
* ์์ foreach๋ ๊ฐ์ ๋ฐ๋ก ๋งคํํด์ค ๊ทธ๋ฅ ์ฐ๋ฉด๋๋ค.
* for-in์ ์ ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๋๊ฑฐ์ง ๊ท์ฐฎ๊ฒ?
* ๋ฐฐ์ด์ผ ๋๋ ๊ฐ์ ๋งคํํด์ฃผ๋ฉด ์ฌ์ฉํ๊ธฐ ํธํ๋ object์ฒ๋ผ key:value ํํ๋ ๊ฐ์ ๊บผ๋ด๊ธฐ๊ฐ ๊น๋ค๋กญ๋ค.
* for-in์ ์ฌ์ฉํ๋ฉด index ๋๋ key ํํ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๊ธฐ์ ํ์ฉํ ์ ์๋ค.
*/
var ob = {id:1,title:"hello",writeId:"newlec"};
for (const i in ob) {
document.write(i+" : "+ob[i]+", "); //๊ฒฐ๊ณผ : id : 1, title : hello, writeId : newlec
document.write("<br/ >");
}