πŸ”₯ [UIUX] 0121 JAVASCRIPT Coding, μ½”λ”© μ΄ˆκΈ‰ 12

You_Jin.Β·2025λ…„ 1μ›” 22일
1
post-thumbnail

✏️ 2025. 1μ›” 21일 / javascript μ΄ˆκΈ‰ 12

πŸ‘» const
constμ—­μ‹œ letκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ˜ˆμ•½μ–΄μž…λ‹ˆλ‹€.
const둜 μ„ μ–Έν•œ λ³€μˆ˜λŠ” μƒμˆ˜λ³€μˆ˜(costant variable)μž…λ‹ˆλ‹€.
μƒμˆ˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ•ˆμ—μ„œ λ³€ν•˜μ§€ μ•ŠλŠ” 값을 μ˜λ―Έν•©λ‹ˆλ‹€.
즉, λ³€ν•˜μ§€ μ•ŠλŠ” 값을 μ„ μ–Έν•  λ•Œ constλ₯Ό μ΄μš©ν•˜μ—¬ μ„ μ–Έν•©λ‹ˆλ‹€.
const둜 ν• λ‹Ήν•œ λ³€μˆ˜λŠ” μž¬μ„ μ–Έκ³Ό μž¬ν• λ‹Ήμ΄ λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
κ·Έλž˜μ„œ λ°˜λ“œμ‹œ λ³€μˆ˜λ₯Ό λ§Œλ“€λ•Œ 이름과 μ΄ˆκΈ°κ°’μ„ ν•¨κ»˜ μ„ μ–Έν•΄μ•Ό ν•©λ‹ˆλ‹€.
주둜 νƒœκ·Έλ₯Ό λΆˆλŸ¬μ™€ 담을 λ•Œ 많이 μ‚¬μš©ν•©λ‹ˆλ‹€.
μƒμˆ˜ λ³€μˆ˜μ— κ°μ²΄λ‚˜ 배열을 ν¬ν•¨ν•˜κ³  μžˆλŠ” 경우 , 이 κ°μ²΄λ‚˜ λ°°μ—΄μ•ˆμ˜ 데이터가
λ°”λ€Œκ³  νŽΈμ§‘λ˜λŠ” 것은 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  [κΈ°λ³Έν˜•]
  const λ³€μˆ˜λͺ… = κ°’;

πŸ‘» μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 방법
μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μœ μ—°μ„±μ΄ λ§Žμ•„ νŽΈλ¦¬ν•œ μ–Έμ–΄μž…λ‹ˆλ‹€. λ‹€μ–‘ν•˜κ²Œ μ½”λ“œλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ νŽΈλ¦¬μ„±μ€ ν”„λ‘œκ·Έλž¨μ΄ μ»€μ§€λ©΄μ„œ κ°€λ…μ„±μ΄λ‚˜ 디버깅을 ν•˜κΈ° μ–΄λ ΅κ²Œ λ§Œλ“­λ‹ˆλ‹€.
μžλ°”μŠ€ν¬λ¦½νŠΈ 문법은 λ²—μ–΄λ‚˜μ§€ μ•ŠμœΌλ©΄μ„œ κ°€λ…μ„±μ΄λ‚˜ 디버깅 ν•˜κΈ° 쉽도둝 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μ•„λž˜μ™€ 같이 μ‚¬μš©ν•©λ‹ˆλ‹€.
1. μ „μ—­λ³€μˆ˜λŠ” μ΅œμ†Œν•œμœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.
: μ „μ—­λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨ μ–΄λ””μ„œλ“  μ ‘κ·Όν•  수 μžˆμœΌλ―€λ‘œ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ μ˜ˆμƒν•˜μ§€ λͺ»ν•œ κ³³μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•  ν™•λ₯ μ΄ λ†’μ•„μ§‘λ‹ˆλ‹€.
κ·Έλž˜μ„œ λ˜λ„λ‘ μ „μ—­λ³€μˆ˜λŠ” μ΅œμ†Œν•œμœΌλ‘œ μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€.
2. varλ³€μˆ˜λŠ” ν•¨μˆ˜μ˜ 첫 쀄(μ‹œμž‘λΆ€λΆ„)에 μ„ μ–Έν•©λ‹ˆλ‹€.
: varλ₯Ό μ‚¬μš©ν•œ λ³€μˆ˜λŠ” μ–΄λ””μ—μ„œ μ„ μ–Έν•˜λ“  μƒκ΄€μ—†μ§€λ§Œ λ‚΄λΆ€μ—μ„œ ν˜Έμ΄μŠ€νŒ…μ΄ μƒκΈ°λ―€λ‘œ
였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ varλ³€μˆ˜λŠ” ν•¨μˆ˜ μ‹œμž‘ 뢀뢄에 μ„ μ–Έν•˜λŠ” 것이 λ³€μˆ˜λ₯Ό ν™•μΈν•˜κΈ°λ„ νŽΈν•˜κ³  였λ₯˜λ₯Ό 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

function example(){
        var first = 'κ°’'; // ν˜Έμ΄μŠ€νŒ…μ΄ μΌμ–΄λ‚˜μ§€ μ•Šλ„λ‘ 첫 쀄에 μ„ μ–Έ
        document.write(first);  
      }

3. forλ¬Έμ—μ„œ μΉ΄μš΄ν„° λ³€μˆ˜λ₯Ό μ“Έ λ•Œμ—λŠ” varμ˜ˆμ•½μ–΄ λŒ€μ‹  let을 μ‚¬μš©ν•©λ‹ˆλ‹€.
: forλ¬Έμ—μ„œ μ‚¬μšœν•  λ³€μˆ˜λŠ” κ·Έ λΈ”λ‘μ•ˆμ—μ„œλ§Œ μ‚¬μš©ν•  κ²ƒμ΄λ―€λ‘œ 가끔 varλ₯Ό μ΄μš©ν•˜μ—¬ μ‚¬μš©
ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ΄λ ‡κ²Œ μ“΄λ‹€κ³  ν•΄μ„œ varκ°€ μ§€μ—­λ³€μˆ˜κ°€ λ˜λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€.
var λ³€μˆ˜λŠ” ν•¨μˆ˜λ ˆλ²¨μ˜ μŠ€μ½”ν”„λ₯Ό κ°€μ§€κΈ° λ•Œλ¬Έμ— var λŒ€μ‹  let을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

    ex) for(let i = 0; i < arr.length; i++){μ½”λ“œ}
        for(let i in arr){μ½”λ“œ} -> λ°°μ—΄μ•ˆμ„ μˆœνšŒν•˜λŠ” forλ¬Έ

4. ES6 λ²„μ „μ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ 문법을 μ‚¬μš©ν•  λ•Œμ—λŠ” varλ³΄λ‹€λŠ” let을 μ‚¬μš©ν•©λ‹ˆλ‹€.
: varλ³€μˆ˜λŠ” μž¬μ„ μ–Έ, μž¬ν• λ‹Ήμ΄ κ°€λŠ₯ν•˜κ³  ν˜Έμ΄μŠ€νŒ… κΈ°μˆ λ„ μ§€μ›λ˜λ―€λ‘œ 같은 λ³€μˆ˜λ₯Ό
μ‹€μˆ˜λ‘œ μž¬μ„ μ–Έν•˜κ±°λ‚˜, ν”„λ‘œκ·Έλž¨μ„ ν•©μΉ˜λ‹€λ³΄λ©΄ λ³€μˆ˜κ°€ 쀑볡될 μˆ˜λ„ μžˆμ–΄ 이런경우 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.
κ·Έλž˜μ„œ μž¬μ„ μ–Έμ„ ν•  수 μ—†λŠ” let을 μ‚¬μš©ν•˜λ©΄ μ½”λ“œκ°€ 더 μ•ˆμ „ν•΄μ§‘λ‹ˆλ‹€.

      let str; //μ„ μ–Έ
      str = "μ„œμšΈ"; //ν• λ‹Ή
      str = "경기도"; //μž¬ν• λ‹Ή
      let str2 = "강원도"; //μ„ μ–Έκ³Ό λ™μ‹œμ— ν• λ‹Ή
      //const
      const num = 2025; // μ„ μ–Έκ³Ό λ™μ‹œμ— ν• λ‹Ή
      //const num; 였λ₯˜λ‚¨. 값이 ν•„μš”. μ΄λ¦„λ§Œ μ§€μ„μˆ˜ μ—†μŒ
      //num = 2026; //μž¬ν• λ‹Ή λΆˆκ°€λŠ₯
      //const num = 2026; //μž¬μ„ μ–Έ λΆˆκ°€λŠ₯
      //μ½˜μ†”μ°½μ—var_let_const04.html:36 Uncaught TypeError: Assignment to constant variable.μ—λŸ¬λ©”μ„Έμ§€
      //μƒμˆ˜λ³€μˆ˜λΌμ„œ 값을 λ°”κΏ€ 수 μ—†λ‹€λŠ” 뜻
      //constλ‘œλ§Œλ“  λ³€μˆ˜μ— λ°°μ—΄ μ €μž₯ν•˜κΈ°
      const arr1 = [30, true, "κ°•μ•„μ§€", "고양이", 250];
      // arr1 = 'κ°•μ•„μ§€'; //배열을 λ¬Έμžμ—΄λ‘œ λ°”κΎΈλ €κ³  ν–ˆκΈ° λ•Œλ¬Έμ— 였λ₯˜λ‚¨
      //λ°°μ—΄μ˜ 인덱슀번호 3λ²ˆμ— μœ„μΉ˜ν•œ 데이터λ₯Ό λ‹€λ₯Έ 500으둜 λ°”κΎΈκΈ°
      arr1[3] = 500;
      console.log(arr1);
      const userInfo = {
        //속성(ν”„λ‘œνΌν‹°):κ°’
        age: 30,
        marraige: true,
        name: "κΉ€λ•‘λ•‘",
        content: "ν•˜μ΄λ£¨",
        anni: 250,
        //λ©”μ„œλ“œ-ν•¨μˆ˜λ₯Ό λ‹΄κ³ μžˆλŠ” 이름
        intro: function () {
          document.write(
            `μ•ˆλ…•ν•˜μ„Έμš”. 제 이름은 ${this.name}이고, λ‚˜μ΄λŠ” ${this.age}μž…λ‹ˆλ‹€.`,
            "<br/>"
          );
        },
      };
      //1. intro λ©”μ„œλ“œ μ‹€ν–‰
      userInfo.intro();
      //2. ageλ£° 40으둜 λ°”κΎΈκΈ°
      userInfo.age = 40;
      //속성λͺ… λΆˆλŸ¬μ˜¬λ•Œ .age, .name λ“±λ“±
      //3. introλ©”μ„œλ“œ μ‹€ν–‰ν•˜κΈ°
      userInfo.intro();

πŸ‘» 도전! μ‹€μŠ΅ 1

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>ν•¨μˆ˜μ‹€μŠ΅</title>
    <style>
      .box {
        width: 300px;
        height: 300px;
        margin: 100px;
        border: 1px solid black;
      }
    </style>
  </head>
  <body id="the_body">
    <!-- onclick : 클릭이벀트. 클릭을 ν• λ•Œλ§ˆλ‹€ ν•¨μˆ˜κ°€ 싀행됨 -->
    <button onclick="changeColor();">배경색 λ°”κΎΈκΈ°</button>
    <!-- λ²„νŠΌμ΄ 클릭될 λ•Œ λ§ˆλ‹€ function의 ν•¨μˆ˜κ°€ 싀행될 수 있게 ν•¨μˆ˜ν˜ΈμΆœλ¬Έ μ‹€ν–‰ -->
    <div class="box" id="the_div" onclick="changeColor();"></div>
    <script>
      //배경색 λ°”κΎΈκΈ° λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ 클릭할 λ•Œλ§ˆλ‹€ 배경색을 λ°”κΎΈλŠ” ν•¨μˆ˜
      let color = ["white", "gold", "pink", "lavender", "skyblue"]; //λ°”κΏ€ 배경색
      //getElementById : htmlλ¬Έμ„œμ—μ„œ ν•΄λ‹Ή id이름을 κ°€μ§„ νƒœκ·Έλ₯Ό 뢈러옴.
      //getElementById()μ•ˆμ—λŠ” 아이디λͺ…을 λ¬Έμžμ—΄λ‘œ κ°€μ Έμ˜€κ³  #은 뢙이지 μ•ŠλŠ”λ‹€.
      //μ „μ—­λ³€μˆ˜λ‘œ 써도 μƒκ΄€μ—†μŒ
      const bodyTag = document.getElementById("the_body");
      // const divTag = document.getElementById("the_div");
      let i = 0; //λ²„νŠΌμ„ 클릭할 λ•Œλ§ˆλ‹€ λ°”κΏ€ 인덱슀번호 μ΄ˆκΉƒκ°’
      function changeColor() {
        i++; // 인덱슀 번호 증가
        //λ§Œμ•½ iκ°€ λ°°μ—΄κ°―μˆ˜μ™€ 동일해지면 λ‹€μ‹œ iλ₯Ό 0으둜 λ°”κΏˆ
        if (i >= color.length) {
          i = 0;
        }
        //bodyνƒœκ·Έμ˜ style(css)쀑 backgroundColor(μΉ΄λ©œν‘œκΈ°λ²•μœΌλ‘œ 씀)λ₯Ό λ°°μ—΄μ˜[i]번째의 컬러둜 λ³€κ²½.
        bodyTag.style.backgroundColor = color[i];
      }
    </script>
  </body>
</html>

πŸ‘» λ§€κ°œλ³€μˆ˜κ°€ μžˆλŠ” ν•¨μˆ˜
ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν• λ•Œλ§ˆλ‹€ μ‹€ν–‰κ²°κ³Όλ₯Ό λ‹€λ₯΄κ²Œ ν•˜κ³  μ‹Άλ‹€λ©΄ λ§€κ°œλ³€μˆ˜λ₯Ό μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ§€κ°œλ³€μˆ˜λŠ” 'νŒŒλΌλ―Έν„°'라고도 λΆ€λ₯΄κ³ , ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν• λ•Œ 인자(수)값을 λ„˜κ²¨λ°›μ•„
ν•¨μˆ˜ μ•ˆμ—μ„œ ν™œμš©ν•  수 μžˆλŠ” νŠΉλ³„ν•œ λ³€μˆ˜μž…λ‹ˆλ‹€.
ν•¨μˆ˜μ— μ „λ‹¬λœ μΈμžκ°’μ€ λ§€κ°œλ³€μˆ˜μ— 순차적으둜 λŒ€μž…λ©λ‹ˆλ‹€.

  [κΈ°λ³Έν˜•]
  function ν•¨μˆ˜λͺ…(λ§€κ°œλ³€μˆ˜1, λ§€κ°œλ³€μˆ˜1....){}
   μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ
  }
  ν•¨μˆ˜λͺ…(μΈμžκ°’1, μΈμžκ°’2...);
profile
🎧 α΄˜ΚŸα΄€ΚΙͺΙ΄Ι’: UXUI (Feat: coding) ─────────βšͺ───── 𝟸:𝟷𝟾 / 𝟹:πŸ»πŸΌβ € γ…€ ◄◄⠀▐▐⠀►► ───○ πŸ”Š

0개의 λŒ“κΈ€