๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JS

JS ์ œ์–ด๋ฌธ

๐Ÿ”น์ œ์–ด๋ฌธ

- ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜๋ณต ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ.

- ์ฝ”๋“œ์˜ ์‹คํ–‰ ํ๋ฆ„์„ ์ธ์œ„์ ์œผ๋กœ ์ œ์–ด ๊ฐ€๋Šฅ

 

๐Ÿ”น๋ธ”๋ก๋ฌธ

- 0๊ฐœ ์ด์ƒ์˜ ๋ฌธ์„ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์€ ๊ฒƒ. ์ฝ”๋“œ๋ธ”๋ก or ๋ธ”๋ก๋ฌธ

 

 

๐Ÿ”น์Šค์ฝ”ํ”„

- ์œ ํšจ๋ฒ”์œ„ ๋ธ”๋ก

-์ฐธ์กฐ ๋Œ€์ƒ ์‹๋ณ„์ž(identifier, ๋ณ€์ˆ˜, ํ•จ์ˆ˜์˜ ์ด๋ฆ„๊ณผ ๊ฐ™์ด ์–ด๋–ค ๋Œ€์ƒ์„  ๋‹ค๋ฅธ ๋Œ€์ƒ๊ณผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์ด๋ฆ„)๋ฅผ 

  ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•œ ๊ทœ์น™

- ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„ = var

- ๋ธ”๋ก ์Šค์ฝ”ํ”„ = let, const

<script>
    let n1 = 10;
    {//๋ธ”๋ก์‹œ์ž‘{
      console.log (n1,'n1');//10 ์ฝ˜์ด์ฐฝ ์ถœ๋ ฅ
      n1 = 20;
    }//๋ธ”๋ก ์ข…๋ฃŒ } 
    console.log(n1,'n1์€ ๋ธ”๋ก์„ ๊ธฐ์ค€์œผ๋กœ ์ „์—ญ๋ณ€์ˆ˜์— ํ•ด๋‹น');// 20 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
    //๋ธ”๋ก ์•ˆ์˜ n1์€ ์žฌ์„ ์–ธ๋œ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์žฌํ• ๋‹น ๋œ ๊ฐ’์œผ๋กœ ์ „์—ญ๋ณ€์ˆ˜ n1์— ๊ฐ’ ํ• ๋‹น.

    let n2 = 20 ;
    {
      //  console.log(n2, 'n2์€ ๋ธ”๋ก์„ ๊ธฐ์ค€์œผ๋กœ ์ง€์—ญ๋ณ€์ˆ˜');//20 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
      let n2 = 30;
      //n2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๊ด„ํ˜ธ ์•ˆ์— ์„ ์–ธ
      console.log(n2, 'n2์€ ๋ธ”๋ก์„ ๊ธฐ์ค€์œผ๋กœ ์ง€์—ญ๋ณ€์ˆ˜');//30 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
    }
    console.log(n2, 'n2์˜ ๊ฒฐ๊ณผ๊ฐ’์€?');//20 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
    //๋ธ”๋ก์•ˆ์˜ n2๋Š” ๋ธ”๋ก์•ˆ์—์„œ ์„ ์–ธ๋œ ๊ฒƒ์ด๋ผ ์ „์—ญ๋ณ€์ˆ˜์— ์˜ํ–ฅ ์•ˆ๋ผ์น˜๊ณ  ํœ˜๋ฐœ.
    
    // vs
    var n3 = 20 ;
    {
      console.log(n3, 'n3์€ varํ•จ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ง€์—ญ๋ณ€์ˆ˜');//20 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
      var n3 = 30;// 30์œผ๋กœ n3๊ฐ’ ์žฌ์„ ์–ธ.
      console.log(n3, 'n3์€ ํ•จ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ง€์—ญ๋ณ€์ˆ˜'); //30 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
    }
    console.log(n3, 'n3์˜ ๊ฒฐ๊ณผ๊ฐ’์€?');// 30 ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ
    //var๋Š” ํ•จ์ˆ˜์Šค์ฝ”ํ”„๋ผ ํœ˜๋ฐœ๋˜์ง€ ์•Š๊ณ  ์ „์—ญ๋ณ€์ˆ˜ ๊ฐ’ ์ดˆ๊ธฐํ™”, ์žฌ์„ ์–ธ

    var n4 =30;
    function fn(){
      n4 = 20;
    }//ํ•จ์ˆ˜ ์ผ ๋•Œ๋งŒ ์œ ํšจ๋ฒ”์œ„(์ค‘๊ด„ํ˜ธ ์•ˆ) ์ง€์ • 
    fn();
    console.log(n4, 'n4์˜ ๊ฒฐ๊ณผ๊ฐ’์€?');
  </script>

 

๐Ÿ”น์กฐ๊ฑด๋ฌธ

โ—พ if๋ฌธ 

- ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์˜ ํ‰๊ฐ€๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ธ”๋Ÿญ์˜ ์‹คํ–‰์„ ๊ฒฐ์ •

<script type="text/javascript">
     
    if (์กฐ๊ฑด์‹) {
        // ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์ด ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.
    } else {
        // ์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ด๋ฉด ์ด ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.
    }

    if (์กฐ๊ฑด์‹1) {
        // ์กฐ๊ฑด์‹1์ด ์ฐธ์ด๋ฉด ์ด ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.
    } else if (์กฐ๊ฑด์‹2) {
        // ์กฐ๊ฑด์‹2์ด ์ฐธ์ด๋ฉด ์ด ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.
    } else {
        // ์กฐ๊ฑด์‹1, 2๊ฐ€ ๊ฑฐ์ง“์ด๋ฉด ์ด ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.
    }

</script>

โ—พ switch๋ฌธ

- ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์˜ ํ‰๊ฐ€๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ธ”๋Ÿญ์˜ ์‹คํ–‰์„ ๊ฒฐ์ •

- ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„์‹==์Šค์œ„์น˜๋Š” ๊ฐ’์œผ๋กœ ๋น„๊ต

<script type="text/javascript">
     
    switch (๊ฐ’) {
       case ํ‘œํ˜„์‹1:
            //switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ํ‘œํ˜„์‹1์ด ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰๋  ๋ฌธ;
            break;
       case ํ‘œํ˜„์‹2:
            //switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ํ‘œํ˜„์‹2๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰๋  ๋ฌธ;
            break;
       default:
            //switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ํ‘œํ˜„์‹์„ ๊ฐ–๋Š” case ๋ฌธ์ด ์—†์„ ๋•Œ ์‹คํ–‰๋  ๋ฌธ;
    }

</script>

  	let exsubScore = 83;
    console.log(parseInt(exsubScore/10));
    switch (parseInt(exsubScore/10)) {
      case 10:
        console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ A์ž…๋‹ˆ๋‹ค');
        break;
      case 9:
        console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ A์ž…๋‹ˆ๋‹ค');
        break;
      case 8:
        console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ B์ž…๋‹ˆ๋‹ค');
        break;
      case 7:
        console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ C์ž…๋‹ˆ๋‹ค');
        break;
      case 6:
        console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ D์ž…๋‹ˆ๋‹ค');
        break;
    
      default:
      console.log('ํ•ด๋‹น๊ณผ๋ชฉ์˜ ํ•™์ ์€ F์ž…๋‹ˆ๋‹ค');
        break;
    }

 

 

๐Ÿ”น๋ฐ˜๋ณต๋ฌธ

- ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์˜ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ๊ฑฐ์ง“์ด ๋  ๋•Œ ๊นŒ์ง€ ์ฝ”๋“œ๋ธ”๋Ÿญ ๋ฐ˜๋ณต ์‹คํ–‰

โ—พ for ๋ฐ˜๋ณต๋ฌธ

<script type="text/javascript">
     
    for (์ดˆ๊ธฐํ™”์‹; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹) {
       //์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ ๋ฐ˜๋ณต ์‹คํ–‰๋  ๋ฌธ;
    }

    for (var i = 0; i < 2; i++) {
            console.log(i);
    }

</script>

์ˆœ์„œ= ์„ ์–ธ๊ฐ’, T/Fํ™•์ธ, ์ฝ˜์†”์ถœ๋ ฅ, ์ฆ๊ฐ์‹

โ—พ while, do while ๋ฐ˜๋ณต๋ฌธ

<script type="text/javascript">
     
    while (์กฐ๊ฑด์‹) {
       //์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ ๋ฐ˜๋ณต ์‹คํ–‰๋  ๋ฌธ;
    }

    var i = 1;

    while (i < 5) {
       console.log(i);
	i++;
    }
    
   //์ฝ˜์†”์ฐฝ์— 1,2,3,4 ์ถœ๋ ฅ.
   //5๊ฐ€ ๋˜๋ฉด false๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์•ˆ๋จ.

</script>


<script type="text/javascript">
     
    do {
        // ๋ฌด์กฐ๊ฑด ํ•œ๋ฒˆ ์‹คํ–‰ 
    } while (์กฐ๊ฑด์‹);

    var i = 5;

    do {
       console.log(i);
	i++;
    } while (i < 5);

</script>
// ๋‹จ์ˆœ whlie๋ฌธ์€ 5๋งŒ ์ฐํžˆ๊ณ  ์‹คํ–‰๋˜์ง€ ์•Š์Œ
// do while๋ฌธ์€ ๊ฑฐ์ง“๊ฐ’์ด๋ผ๋„ ์ผ๋‹จ ํ•œ๋ฒˆ์€ ๋Œ๋ ค ์ถœ๋ ฅ

 

โ—พ break

- ๋ ˆ์ด๋ธ”๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, switch๋ฌธ์˜ ์ฝ”๋“œ ๋ธ”๋Ÿญ์„ ํƒˆ์ถœ

<script type="text/javascript">
    var string = 'ksmart';
    var index;
   // ๋ฌธ์ž์—ด์€ ์œ ์‚ฌ๋ฐฐ์—ด์ด๋ฏ€๋กœ for ๋ฌธ์œผ๋กœ ์ˆœํšŒ
    for (var i = 0; i < string.length; i++) {
         // ๋ฌธ์ž์—ด์˜ ๊ฐœ๋ณ„ ๋ฌธ์ž๊ฐ€ 'r'์ด๋ฉด
         if (string[i] === 'r') {
              index = i;
              break; // ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•œ๋‹ค.
         }
    }
    console.log(index);
</script>

</script>
	
	<h1>break</h1>
	- ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋ฅผ ๋งŒ๋‚  ๊ฒฝ์šฐ ๋ฐ˜๋ณต์ด ์ค‘์ง€๋œ๋‹ค.
	<script type="text/javascript">
		/* ์ธ์ ‘ํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋ก์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
		{
			break;
		}
		for(๋ฐ˜๋ณต๋ฌธ ํ‚ค์›Œ๋“œ) ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด for(๋ฐ˜๋ณต๋ฌธ ํ‚ค์›Œ๋“œ)๋ฌธ์˜ ๋ธ”๋ก์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
		*/
		for (let cnt1=0; cnt1<5; cnt1++){
			console.log(cnt1);
			if(cnt1 == 1) break;
		}

	</script>

โ—พ continue

- ๋ฐ˜๋ณต๋ฌธ(for, for…in, for…of, while, do…while)์˜ ์ฝ”๋“œ ๋ธ”๋ก ์‹คํ–‰์„ ํ˜„ ์ง€์ ์—์„œ ์ค‘๋‹จํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ์˜ ์ฆ๊ฐ์‹์œผ๋กœ ์ด๋™

<script type="text/javascript">
		/* ์ธ์ ‘ํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋ก์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค.
		for
		continue -> ์•„๋ž˜์— ์œ„์น˜ํ•œ ์ฝ”๋“œ๋Š” ์‹คํ–‰x , ์ฆ๊ฐ์‹์œผ๋กœ ๊ฐ„๋‹ค.
		*/
		for(let i=0; i<5; i+=1){
			//1์ธ๊ฒฝ์šฐ continue
			if(i==1) continue;
			console.log(i,'for continue');
		}
</script>

๊ฒฐ๊ณผ๊ฐ’

→ i=1 ์ด ๋˜๋ฉด ์ฝ˜์†”์ฐฝ์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฐ”๋กœ ์ฆ๊ฐ์‹์œผ๋กœ ์ด๋™ํ•ด 1๊ฐ’์€ ์ฐํžˆ์ง€ ์•Š๋Š”๋‹ค.