๐Ÿ‘โ€๐Ÿ—จjavascript(๋ณ€์ˆ˜, ๋ฐ์ดํ„ฐ, ํ•จ์ˆ˜, ์กฐ๊ฑด๋ฌธ)

stayby94ยท2023๋…„ 8์›” 1์ผ

JS๋ฌธ๋ฒ•

๋ชฉ๋ก ๋ณด๊ธฐ
4/15

๋ณ€์ˆ˜ ์„ ์–ธ

  • const, let, var ๊นŒ์ง€ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ.

  • const, let, var์˜ ์ฐจ์ด

    • let : ์žฌ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ์œผ๋กœ์จ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. / ์žฌํ• ๋‹น์€ ๊ฐ€๋Šฅํ•˜๊ณ  ๋ฒ”์œ„๋Š” ๋ชจ๋“  ์ค‘๊ด„ํ˜ธ๊ฐ€ ๋ฒ”์œ„์ž„.
    • const : ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. (๊ทธ๋ž˜์„œ ๋ณ€ํ•˜๋ฉด ์•ˆ๋˜๋Š” ๊ฐ’์„ ๋ณด๊ด€ํ•˜๊ธฐ ์šฉ์ดํ•จ.) / ๋ฒ”์œ„๋Š” let๊ณผ ๊ฐ™์Œ.
    • var : ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ฒ”์œ„๋Š” ํ•จ์ˆ˜๋‚ด๋ถ€์ด๋‹ค.

โ“ ์ฐธ๊ณ ์‚ฌํ•ญ

  • ๋ณ€์ˆ˜๋ฅผ ์›๋ž˜ ์•„๋ฌด๋ฐ์„œ๋‚˜ ๋งŒ๋“ค์–ด ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ ์˜ˆ๋ฅผ ๋“ค์–ด ํ•จ์ˆ˜ ์•ˆ์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ, ํ• ๋‹นํ–ˆ์„ ๋•Œ ๋ฒ”์œ„๋Š” ํ•จ์ˆ˜ ๋‚ด๋ถ€์ด๊ณ  ํ•จ์ˆ˜ ๋ฐ”๊นฅ์—์„œ ํ•ด๋‹น๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋ฉด ์˜ค๋ฅ˜.
  • ๋ณ€์ˆ˜.push()๋กœ ํ•ด๋‹น ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ , let ๊ฐ™์€ ๊ฒฝ์šฐ์—” ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— let a = true ๋ผ๊ณ  ์„ ์–ธํ–ˆ๋”๋ผ๋„ ๋ฐ‘์— ์ค„์— a = false ์™€ ๊ฐ™์ด ๋ณ€ํ™˜ ๊ฐ€๋Šฅ.
  • ๋ณ€์ˆ˜ ์ด๋ฆ„ ์ž…๋ ฅ ์‹œ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•ด์•ผํ•˜๋ฉด ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์“ฐ๊ธฐ๋กœ ์•ฝ์†!!

๋ฐ์ดํ„ฐ ํƒ€์ž…

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์—๋Š” ์ˆซ์ž, ๋ฌธ์ž(์—ด), boolean, null, undefined์ด ์žˆ์Œ.

    • null์€ ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•˜๋ฉฐ, undefined๋Š” ์ •์˜๋˜์ง€ ์•Š์Œ, boolean์€ true์™€ false 2๊ฐ€์ง€ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค.
  • ๋ฐฐ์—ด(array), ์ž๋ฃŒํ˜•(object)

    • var car = ['์†Œ๋‚˜ํƒ€', 50000, 'white'] ์™€ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ array.
    • array ์—์„œ ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ด๋ ค๋ฉด indexingํ•ด์ค˜์•ผ ํ•จ.
    • car[0] ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ.
    • ๋ฐฐ์—ด ์•ˆ์— ๋ฐ์ดํ„ฐ ์ˆ˜์ •๋ฐฉ๋ฒ• : car[0]='์•„๋ฐ˜๋–ผ'
    • var car2 = {name : '์†Œ๋‚˜ํƒ€', price : 50000} ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋Š” object.
    • key : value ํ˜•ํƒœ๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด ์‰ฌ์›€.
    • data๋ฅผ ๊บผ๋‚ด๋ ค๋ฉด?? car2['name'] ๋˜๋Š” car2.price์™€ ๊ฐ™์ด.
    • ์ž๋ฃŒ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• : car2.price = 60000;
  • array์™€ object์˜ ์ฐจ์ด์ !

    • array๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅ, ์ž๋ฃŒ ๊ฐ„ ์ˆœ์„œ๊ฐ€ ์žˆ์Œ.
      • .sort()๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ •๋ ฌ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ.
      • ์ค‘๊ฐ„ ์ž๋ฅด๊ธฐ๋„ ๊ฐ€๋Šฅ .slice(1(์‹œ์ž‘์ ), 2(๋์ )) / ์ด ์™ธ์—๋„ forEach(), filter() ๋“ฑ๋“ฑ
    • object๋Š” ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ์ €์žฅ, ์ˆœ์„œ ๊ฐœ๋…์ด ์—†์Œ.

๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

  • ๋ณต์žกํ•œ ์ž๋ฃŒ์—์„œ ์›ํ•˜๋Š” data ๊บผ๋‚ด๊ธฐ / ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ ๊ฐ€๋Šฅ(jquery๋‚˜ React ๋“ฑ)

  • var car2 = {name : '์†Œ๋‚˜ํƒ€', price : [50000, 3000, 4000]} ์—ฌ๊ธฐ์„œ 50000 ์ด๋ผ๋Š” ๊ฐ’๋งŒ ๊บผ๋‚ด๋ ค๋ฉด?

    • document.querySelector('.car-price').innerHTML = car2.price[0]

ํ•จ์ˆ˜(function)์ด๋ž€?

  • ๋ฐ˜๋ณตํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ์กฐ๊ฐ / ๊ธด ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ ์šฉ์ด

  • ๊ธฐ๋ณธ ๊ตฌ๋ฌธ : function ํ•จ์ˆ˜์ด๋ฆ„(argument){์‹คํ–‰ํ•  ์ฝ”๋“œ}

    function onClickBtn(){
        document.querySelector('.alert-box').style.display='block'
         }
    function closeBtn(){
        document.querySelector('.alert-box').style.display = 'none'
        }
  • ํ•จ์ˆ˜ ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š”๊ฒŒ argument(ํŒŒ๋ผ๋ฏธํ„ฐ, ์ธ์ž)

  • ํŒŒ๋ฆฌ๋ฏธํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ function์— ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ž„.

  • retrun์„ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์“ฐ๋Š” ์ด์œ ?

    • ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ๊ฐ’์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ๋ง๊ณ ์ฃผ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ ๊ธฐ๊ณ„์—์„œ ๋ง๊ณ ์ฃผ์Šค๊ฐ€ ์•ˆ๊บผ๋‚ด์ง„๋‹ค๋ฉด?? ์ด๋Ÿด ๋•Œ return๋ฌธ์„ ์‚ฌ์šฉํ•จ.
      ๐Ÿ’ฅ ์ฃผ์˜์‚ฌํ•ญ!! function ์•ˆ์—์„œ return๊ณผ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ž…๋ ฅํ•˜๋ฉด return๊นŒ์ง€๋งŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ.

์กฐ๊ฑด๋ฌธ(conditionals)

  • ์กฐ๊ฑด๋ฌธ์˜ ํ˜•์‹

    • if(์กฐ๊ฑด){
      ์กฐ๊ฑด === true ์ด๋ฉด ํ•ด๋‹น ์ฝ”๋“œ ์‹คํ–‰
      } else{
      ์กฐ๊ฑด === false ์ด๋ฉด ํ•ด๋‹น์ฝ”๋“œ ์‹คํ–‰
      }

โ“ ์ฐธ๊ณ ์‚ฌํ•ญ

  • typeof๋Š” ๊ฐ’์˜ ํƒ€์ž…์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ.
  • parseInt๋ผ๋Š” ํ•จ์ˆ˜๋Š” string์„ number๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ.(abs ์™€ ๊ฐ™์€ string์€ ๋ณ€ํ™˜x)
์˜ˆ์‹œ>
console.log(typeof "15", parseInt("15"));
console.log(age, parseInt(age));  โ†’ ๊ฒฐ๊ณผ๋กœ 15(string) 15(number)๊ฐ€ ๋‚˜์˜ด.
  • isNaN ๊ฒฐ๊ณผ๊ฐ€ false์ด๋ฉด Not a Number๊ฐ€ false๋ผ๋Š” ๋œป์ด๋ฏ€๋กœ ์ˆซ์ž๊ฐ€ ๋งž์Œ!
  • ๋‹ค์‹œ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋Œ์•„์™€์„œ ์กฐ๊ฑด๋ฌธ์—๋Š” if์™€ else๋งŒ ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ else if๋„ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ.

    • ์˜ˆ์‹œ)

      if(isNaN(ages) || ages < 0){   // || : or ์˜ ์˜๋ฏธ. ์ขŒํ•ญ์ด๋‚˜ ์šฐํ•ญ ์ค‘ ํ•˜๋‚˜๋งŒ true์—ฌ๋„ ๊ฒฐ๊ณผ ๊ฐ’์ด true๊ฐ€ ๋จ. 
        console.log("please write a real positive number")
      } else if(ages < 18) {
        console.log("you are too young")
      } else if(ages >= 18 && ages <= 50) { 
        console.log("you can drinksss")  
      } else {
        console.log("you can`t drink")
      }
      • if๋ฌธ 2๊ฐœ ์“ฐ๋Š” ๊ฒƒ๊ณผ if/else if๋ฌธ์˜ ์ฐจ์ด
        - if/else if๋ฌธ์€ ์•ž์˜ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด else๋ฌธ ๋’ค๋Š” ์•„์˜ˆ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์Œ.
        ๊ทธ๋Ÿฌ๋‚˜ if๋ฌธ์„ 2๊ฐœ์“ฐ๋ฉด ์•ž์˜ ์กฐ๊ฑด์‹๊ณผ ์ƒ๊ด€์—†์ด ๋‘˜์งธ if๋ฌธ๋„ ์‹คํ–‰.
        ๊ทธ๋ž˜์„œ if๋ฌธ์„ ์—ฌ๋Ÿฌ๋ฒˆ ์“ฐ๋ ค๋ฉด if/else if๋ฌธ์„ ์”€!
  • ๋น„๊ต์—ฐ์‚ฐ์ž ์ •๋ฆฌ!

    • true || true === true
      false || true === true
      true || false === true
      false || false === true
    • true && true === true
      false && true === false
      true && false === false
      false && false === false
    • = : ๋ณ€์ˆ˜ ํ• ๋‹น === : ์ขŒํ•ญ ์šฐํ•ญ์˜ ๊ฐ’๊ณผ ํƒ€์ž…์ด ๊ฐ™๋‹ค. == : ์ขŒํ•ญ ์šฐํ•ญ์˜ ๊ฐ’์ด ๊ฐ™๋‹ค
      != : ์ขŒํ•ญ ์šฐํ•ญ์˜ ๊ฐ’์ด ๋‹ค๋ฆ„ !== : ์ขŒํ•ญ ์šฐํ•ญ์˜ ๊ฐ’๊ณผ ํƒ€์ž…์ด ๋‹ค๋ฆ„
  • ๋น„๊ต์—ฐ์‚ฐ์ž ์™ธ true๋กœ ์ธ์‹ํ•˜๋Š” ์ž๋ฃŒ๋“ค

    • 0์ œ์™ธ ์ˆซ์ž, '๋ฌธ์ž', [], {}
  • false๋กœ ์ธ์‹ํ•˜๋Š” ์ž๋ฃŒ๋“ค

    • 0, '', null, undefined, NaN

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 8์›” 1์ผ

๊ณต๊ฐํ•˜๋ฉฐ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ธ€ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1๊ฐœ์˜ ๋‹ต๊ธ€