[๐Ÿ“† 2025.04.11] reference types, scope, let const, array methods - [๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ๋ถ€ํŠธ์บ ํ”„ ํ”„๋ก ํŠธ์—”๋“œ13๊ธฐ]

rogieยท2025๋…„ 4์›” 11์ผ

likelion-posting

๋ชฉ๋ก ๋ณด๊ธฐ
3/10

๐Ÿ“š ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ

  • ์ฐธ์กฐ ํƒ€์ž…์˜ ํŠน์ง•
  • ๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„
  • ES6 - ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ
  • ์˜ค๋Š˜ ๋ฐฐ์šด ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ

๐Ÿง  ๋ฐฐ์šด ์  & ์ •๋ฆฌ

์˜ค๋Š˜ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ธ์‚ฌ์ดํŠธ, ๊ฐœ๋… ์š”์•ฝ ๋“ฑ

  • ์ฐธ์กฐ ํƒ€์ž…์˜ ํŠน์ง•

    • ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‹ค๋ฃธ

      • ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹: ๊ฐ’์— ์˜ํ•œ ํ˜ธ์ถœ (Call by Value) โ‡’ ์›์‹œํƒ€์ž…
    • ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์œ„์น˜์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‹ค๋ฃธ

      • ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹: ์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ (Call by Reference) โ‡’ ์ฐธ์กฐํƒ€์ž…

      • ์˜ˆ์ œ์ฝ”๋“œ

        js ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

        function add10(data1, data2) {
          data1 += 10;
          data2[0] += 10;
          console.log("ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ํ˜ธ์ถœ", data1, data2[0]);
        }
        
        let d1 = 80; // => ์›์‹œํƒ€์ž…, Number
        let d2 = [80]; // => ์ฐธ์กฐํƒ€์ž…, array(object)
        
        console.log("ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ด์ „", d1, d2[0]);
        
        add10(d1, d2);
        
        console.log("ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ดํ›„", d1, d2[0]);
      • call stack

        • ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์—ฌ๊ธฐ์— ์ ์šฉ๋จ

        • ๋ฐ‘์—์„œ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜์”ฉ ์Œ“์ด๋Š” ๊ณณ

        • ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด stack frame์ด ์—ญ์ˆœ์œผ๋กœ ์‚ฌ๋ผ์ง (์ œ์ผ ๋งˆ์ง€๋ง‰์— ์Œ“์˜€๋˜ ๊ฒƒ๋ถ€ํ„ฐ ์‚ฌ๋ผ์ง)

        • ex01-37-02 - call stack

          console.log("1. ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘.");
          
          function a(n1) {
            console.log("2. a ์‹œ์ž‘.", n1);
            const n2 = b(n1);
            console.log("7. a ์ข…๋ฃŒ.", n2);
          }
          
          function b(n3) {
            console.log("3. b ์‹œ์ž‘.", n3);
            const n4 = c(n3); // 3.5๋ฒˆ
            console.log("6. b ์ข…๋ฃŒ.", n4);
            return n4;
          }
          
          function c(n5) {
            console.log("4. c ์‹œ์ž‘.", n5);
            const n6 = n5 + 10;
            console.log("5. c ์ข…๋ฃŒ.", n6);
            return n6;
          }
          
          a(10);
          
          console.log("8. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ.");

        ๐Ÿง  Call Stack ํ๋ฆ„ ์š”์•ฝ (์ƒ‰๊น” ๋”ฐ๋ผ๊ฐ€๊ธฐ)

        1. ๋นจ๊ฐ„์ƒ‰ (ํ•จ์ˆ˜ ์ง„์ž…)
          • ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ (console.log 1)
          • a(10) ํ˜ธ์ถœ โ†’ a ์‹œ์ž‘ (console.log 2)
          • b(n1) ํ˜ธ์ถœ โ†’ b ์‹œ์ž‘ (console.log 3)
          • c(n3) ํ˜ธ์ถœ โ†’ c ์‹œ์ž‘ (console.log 4)
        2. ํŒŒ๋ž€์ƒ‰ (ํ•จ์ˆ˜ ๋‚ด๋ถ€ ๋กœ์ง)
          • c() ๋‚ด๋ถ€์—์„œ n6 = n5 + 10
          • console.log("5. c ์ข…๋ฃŒ.") โ†’ ๊ฐ’ ๋ฐ˜ํ™˜ (n6)
        3. ์ดˆ๋ก์ƒ‰ (ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ณผ ์ข…๋ฃŒ)
          • b()๋กœ ๋Œ์•„์™€์„œ console.log("6. b ์ข…๋ฃŒ.") โ†’ ๊ฐ’ ๋ฐ˜ํ™˜ (n4)
          • a()๋กœ ๋Œ์•„์™€์„œ console.log("7. a ์ข…๋ฃŒ.") โ†’ ์ข…๋ฃŒ
        4. ๋ณด๋ผ์ƒ‰ (์ตœ์ข… ์ข…๋ฃŒ)
          • console.log("8. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ.")

        ๐ŸŽฏ ์š”์•ฝ ๋น„์œ 

        • ํ•จ์ˆ˜๋ฅผ ๋นจ๊ฐ„ ํ™”์‚ดํ‘œ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ์Šคํƒ์— ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์ด๊ณ  (push)
        • ๋ฐ˜ํ™˜๋˜๋ฉด ์ดˆ๋ก ํ™”์‚ดํ‘œ๋กœ ์Šคํƒ์—์„œ ์ œ๊ฑฐ๋จ (pop)
        • ๊ฒฐ๊ตญ ๋งˆ์ง€๋ง‰์— ์Šคํƒ์ด ๋น„์›Œ์ง€๋ฉด ํ”„๋กœ๊ทธ๋žจ๋„ ๋๋‚จ!
      • heap

        • ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ ์šฉ๋จ
        • ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฌด์ž‘์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์Œ
  • ๐Ÿง  ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ดํ•ด

    1. d1์€ ์›์‹œํƒ€์ž…(Number)
    • ๊ฐ’์ด ๊ทธ๋Œ€๋กœ data1์— ๋ณต์‚ฌ(pass-by-value)๋ผ.
    • ์ฆ‰, data1 = 80์ด ๋˜๊ณ , data1 += 10์„ ํ•ด๋„ d1์—๋Š” ์˜ํ–ฅ์ด ์—†์–ด.
    • data1์€ ํ•จ์ˆ˜ ์•ˆ์—์„œ๋งŒ 90์ด ๋˜๊ณ , ๋ฐ”๊นฅ์˜ d1์€ ์—ฌ์ „ํžˆ 80์ด์•ผ.
    1. d2๋Š” ์ฐธ์กฐํƒ€์ž…(Array/Object)
    • d2์˜ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์ด data2๋กœ ๊ณต์œ (pass-by-reference)๋ผ.

    • ์ฆ‰, data2[0] += 10์€ ์‹ค์ œ ๋ฐฐ์—ด์˜ ๊ฐ’์ธ d2[0]์„ ๋ฐ”๊ฟ”.

    • ๊ทธ๋ž˜์„œ ๋ฐ”๊นฅ์˜ d2[0]๋„ ๊ฐ™์ด 90์œผ๋กœ ๋ฐ”๋€œ.

    • ๋น„์œ 
      ๐Ÿฑ ๋„์‹œ๋ฝ ๋น„์œ 

      ๐Ÿงโ€โ™‚๏ธ d1์€ "์ง์ ‘ ๊ฐ€์ ธ๊ฐ„ ๋„์‹œ๋ฝ"

      • ๋„ˆ๊ฐ€ ์นœ๊ตฌํ•œํ…Œ "๋‚ด ๋„์‹œ๋ฝ์ด ์ด๊ฑฐ์•ผ!" ํ•˜๊ณ  ๋„์‹œ๋ฝ ์‚ฌ์ง„๋งŒ ์คฌ์–ด.
      • ์นœ๊ตฌ๋Š” ๊ทธ๊ฑธ ๋ณด๊ณ  ๋„์‹œ๋ฝ ๊ทธ๋ฆผ์— ํ–„๋ฒ„๊ฑฐ๋ฅผ ํ•˜๋‚˜ ๋” ๊ทธ๋ ค.
      • ๊ทผ๋ฐ ๋„ค ์ง„์งœ ๋„์‹œ๋ฝ์€ ๊ทธ๋Œ€๋กœ์•ผ. ์นœ๊ตฌ๋Š” ๋ณต์‚ฌ๋œ ๊ทธ๋ฆผ๋งŒ ๋ฐ”๊พผ ๊ฑฐ๋‹ˆ๊นŒ!
        ๐ŸŸฐ ์ด๊ฒŒ ๋ฐ”๋กœ ์›์‹œํƒ€์ž…, ์ฆ‰ pass-by-value (๊ฐ’ ๋ณต์‚ฌ)!

      ๐Ÿงโ€โ™‚๏ธ d2๋Š” "๋„์‹œ๋ฝ ํ†ต์งธ๋กœ ๋นŒ๋ ค์ค€ ๊ฑฐ"

      • ์ด๋ฒˆ์—” ๋„์‹œ๋ฝ์„ ์ง์ ‘ ์นœ๊ตฌํ•œํ…Œ ๊ฑด๋„ธ์–ด.
      • ์นœ๊ตฌ๊ฐ€ ๋šœ๊ป‘ ์—ด๊ณ  ์•ˆ์— ๋ฐ˜์ฐฌ ํ•˜๋‚˜ ๋” ๋„ฃ์–ด์คฌ์–ด.
      • ๊ทธ๋ž˜์„œ ๋„ค๊ฐ€ ๋‹ค์‹œ ๋„์‹œ๋ฝ ๋ฐ›์•„๋ดค์„ ๋•, ์ง„์งœ๋กœ ๋ฐ˜์ฐฌ์ด ๋ฐ”๋€Œ์–ด ์žˆ์—ˆ๋˜ ๊ฑฐ์•ผ.
        ์ด๊ฒŒ ์ฐธ์กฐํƒ€์ž…, ์ฆ‰ pass-by-reference (์ฐธ์กฐ ์ „๋‹ฌ)

  • ๋ณ€์ˆ˜ ์Šค์ฝ”ํ”„

    • ์ „์—ญ ๋ณ€์ˆ˜

      ๊ณต์‹ ๋ฌธ์„œ
      var age = 20; // ์ „์—ญ ๋ณ€์ˆ˜
      (window.)year = 10; // ์ „์—ญ ๋ณ€์ˆ˜
      function getAge(year){ // ์ง€์—ญ ๋ณ€์ˆ˜
        var age = 30; // ์ง€์—ญ ๋ณ€์ˆ˜
        (window.)myAge = age + year; // ์ „์—ญ ๋ณ€์ˆ˜
        (window.)alert(myAge);
        (window.)console.log(myAge);
      }
      • ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜
      • ์Šคํฌ๋ฆฝํŠธ ๋‚ด ์–ด๋””์—์„œ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ
      • ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋”ฉ๋  ๋•Œ ํ•œ๋ฒˆ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ’์ด ์œ ์ง€๋จ
      • ๋ชจ๋“  ์ „์—ญ๋ณ€์ˆ˜๋Š” window ๊ฐ์ฒด์˜ ์†์„ฑ์œผ๋กœ ์ง€์ •๋จ
      • ๋ณ€์ˆ˜๋ฅผ ์žฌํ• ๋‹นํ•  ๊ฒฝ์šฐ ์•ž์— window๊ฐ€ ์ƒ๋žต๋˜์–ด์„œ ์‚ฌ์šฉํ•จ
      • ๋ณ€์ˆ˜์„ ์–ธ์„ ์•ˆํ•˜๊ณ  ์จ๋„ ์ „์—ญ๋ณ€์ˆ˜๋กœ ์ธ์‹ํ•ด์„œ ์œˆ๋„์šฐ ๊ฐ์ฒด ์•„๋ž˜์— ๋„ฃ์–ด๋ฒ„๋ฆฌ๋Š”๊ฒƒ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ์˜ ํŠน๋ณ„ํ•œ ๋™์ž‘ ๋ฐฉ์‹์ด๋‹ค!
      • (window.)myAge = age + year;

        ๋˜๋„๋ก์ด๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ๋‚˜ ํ˜ผ์ž ๋ณด๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ดค์„ ๋•Œ ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์Œ ๋งŒ์•ฝ, ์ •๋ง์ •๋ง ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด ์•ž์— window.์„ ๋ถ™์—ฌ์„œ ์œˆ๋„์šฐ ๊ฐ์ฒด์˜ ์•„๋ž˜์— ์žˆ๋‹ค๊ณ  ๋ช…์‹œํ•ด์ฃผ์ž
    • ์ง€์—ญ ๋ณ€์ˆ˜
      • ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜
      • ํ•ด๋‹น ํ•จ์ˆ˜ ์•ˆ์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
      • ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ’์ด ์ดˆ๊ธฐํ™”
      • ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋กœ ๋™์ž‘
    • ๋ณ€์ˆ˜ ์šฐ์„ ์ˆœ์œ„
      • ๋ณ€์ˆ˜๋Š” ๊ฐ€๊นŒ์šด ๊ณณ๋ถ€ํ„ฐ ์ฐพ๋Š”๋‹ค.
      • ์ฆ‰ ์ง€์—ญ๋ณ€์ˆ˜ ์˜์—ญ์—์„œ ๋จผ์ € ์ฐพ๊ณ  ์—†์„ ๊ฒฝ์šฐ ์ „์—ญ๋ณ€์ˆ˜์—์„œ ์ฐพ๋Š”๋‹ค.
    • โ—์ง€์—ญ๋ณ€์ˆ˜์˜ ์œ ํšจ ๋ฒ”์œ„
      ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด์—์„œ๋Š” ์„ ์–ธํ•œ ๋ณ€์ˆ˜๊ฐ€ ๋ธ”๋ก ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” var๋กœ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ES6 - ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ

    • var์„ ์–ธ๋ฌธ
      • ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ
      • ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด์—์„œ๋Š” ์„ ์–ธํ•œ ๋ณ€์ˆ˜๊ฐ€ ๋ธ”๋ก ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” var๋กœ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • let ์„ ์–ธ๋ฌธ
      • ๋ธ”๋ก ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ
    • const์„ ์–ธ๋ฌธ
      • ๋ธ”๋ก ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ์ƒ์ˆ˜ ์„ ์–ธ๋ฌธ

  • ์˜ค๋Š˜ ๋ฐฐ์šด ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ

    • fill()
      ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ง€์ •ํ•œ ๊ฐ’์œผ๋กœ ์ฑ„์šด๋‹ค.

      // ๋ฌธ๋ฒ•: array.fill(value, start, end)
      // value: ๋ฐฐ์—ด์„ ์ฑ„์šธ ๊ฐ’
      // start(์„ ํƒ): ์‹œ์ž‘ ์ธ๋ฑ์Šค (๊ธฐ๋ณธ๊ฐ’ 0)
      // end(์„ ํƒ): ๋ ์ธ๋ฑ์Šค (๊ธฐ๋ณธ๊ฐ’ array.length)
      
      const arr = new Array(5);
      arr.fill(7);
      console.log(arr); // [7, 7, 7, 7, 7]
      
      // ํŠน์ • ๊ตฌ๊ฐ„๋งŒ ์ฑ„์šฐ๊ธฐ
      const nums = [1, 2, 3, 4, 5];
      nums.fill(0, 2, 4);
      console.log(nums); // [1, 2, 0, 0, 5]
    • join()
      ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ ๋‹ค.

      // ๋ฌธ๋ฒ•: array.join(separator)
      // separator(์„ ํƒ): ์š”์†Œ ์‚ฌ์ด์— ๋“ค์–ด๊ฐˆ ๊ตฌ๋ถ„์ž (๊ธฐ๋ณธ๊ฐ’์€ ์‰ผํ‘œ)
      
      const fruits = ['์‚ฌ๊ณผ', '๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ'];
      console.log(fruits.join()); // '์‚ฌ๊ณผ,๋ฐ”๋‚˜๋‚˜,๋”ธ๊ธฐ'
      console.log(fruits.join(' ')); // '์‚ฌ๊ณผ ๋ฐ”๋‚˜๋‚˜ ๋”ธ๊ธฐ'
      console.log(fruits.join(' - ')); // '์‚ฌ๊ณผ - ๋ฐ”๋‚˜๋‚˜ - ๋”ธ๊ธฐ'
    • split()
      ๋ฌธ์ž์—ด์„ ์ง€์ •๋œ ๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

      // ๋ฌธ๋ฒ•: string.split(separator, limit)
      // separator: ๋ถ„ํ•  ๊ธฐ์ค€ (๋ฌธ์ž์—ด ๋˜๋Š” ์ •๊ทœ์‹)
      // limit(์„ ํƒ): ๋ฐ˜ํ™˜ํ•  ๋ถ„ํ•  ํ•ญ๋ชฉ ์ˆ˜์˜ ์ œํ•œ
      
      const sentence = '์•ˆ๋…•ํ•˜์„ธ์š”, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€ ์ค‘์ž…๋‹ˆ๋‹ค';
      const words = sentence.split(' ');
      console.log(words); // ['์•ˆ๋…•ํ•˜์„ธ์š”,', '์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ', '๊ณต๋ถ€', '์ค‘์ž…๋‹ˆ๋‹ค']
      
      const csv = '๊น€์ฒ ์ˆ˜,30,๊ฐœ๋ฐœ์ž';
      const person = csv.split(',');
      console.log(person); // ['๊น€์ฒ ์ˆ˜', '30', '๊ฐœ๋ฐœ์ž']
      
      // ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๊ฐœ๋ณ„ ์š”์†Œ๋กœ
      const chars = '์•ˆ๋…•ํ•˜์„ธ์š”'.split('');
      console.log(chars); // ['์•ˆ', '๋…•', 'ํ•˜', '์„ธ', '์š”']
    • includes()
      ๋ฐฐ์—ด์— ํŠน์ • ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  true๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

      // ๋ฌธ๋ฒ•: array.includes(searchElement, fromIndex)
      // searchElement: ์ฐพ์„ ์š”์†Œ
      // fromIndex(์„ ํƒ): ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์œ„์น˜ (๊ธฐ๋ณธ๊ฐ’ 0)
      
      const numbers = [1, 2, 3, 4, 5];
      console.log(numbers.includes(3)); // true
      console.log(numbers.includes(6)); // false
      
      // ํŠน์ • ์œ„์น˜๋ถ€ํ„ฐ ๊ฒ€์ƒ‰
      console.log(numbers.includes(1, 2)); // false (์ธ๋ฑ์Šค 2๋ถ€ํ„ฐ ๊ฒ€์ƒ‰)
      
      // ๋ฌธ์ž์—ด ๋ฐฐ์—ด์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
      const fruits = ['์‚ฌ๊ณผ', '๋ฐ”๋‚˜๋‚˜', '๋”ธ๊ธฐ'];
      console.log(fruits.includes('๋ฐ”๋‚˜๋‚˜')); // true
      console.log(fruits.includes('์ˆ˜๋ฐ•')); // false

๐Ÿ”— ๋ฐฐ์› ๋˜ ํŒŒ์ผ


โ“ ์ƒ๊ธด ์งˆ๋ฌธ / ๋” ์•Œ์•„๋ณผ ๊ฒƒ

  • ์˜ค๋Š˜์€ ๊ฐœ์ธ์ ์œผ๋กœ ๋ชธ์ด ์•ˆ ์ข‹์€ ๋‚ ์ด์–ด์„œ ์ˆ˜์—…์„ ์ž˜ ๋ชป ๋“ค์€ ํ•˜๋ฃจ์˜€๋‹ค. ์ œ์ผ ์ค‘์š”ํ•œ call stack๋ž‘ heap๋ฅผ ๋Œ€์ถฉ ๋“ค์€๊ฑฐ ๊ฐ™์•„์„œ ๋‚ด์ผ๋ถ€ํ„ฐ ๋”ฅ๋‹ค์ด๋ธŒ๋ฅผ ๋ณด๋ฉด์„œ ๋จธ๋ฆฌ์†์— ๋„ฃ์–ด์•ผ ํ• ๊ฒƒ ๊ฐ™๋‹ค

๐Ÿ”— ์ฐธ๊ณ  ์ž๋ฃŒ

profile
front-end๋ฅผ ๊ฟˆ๊ฟ‰๋‹ˆ๋‹ค

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