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

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

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

✈️ λ‚ μ§œ 객체에 λŒ€ν•΄ μ•Œμ•„λ΄…μ‹œλ‹€
λ‚ μ§œ κ°μ²΄λŠ” λ‚ μ§œλ‚˜ μ‹œκ°„ κ΄€λ ¨ 정보λ₯Ό 제곡 λ°›κ³  싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
λ‚ μ§œ 객체 λ˜ν•œ λ³€μˆ˜ μ•ˆμ— μ„ μ–Έν• λ•Œ new ν‚€μ›Œλ“œλ₯Ό 뢙이고 뒀에 Date()λ₯Ό λΆ™μž…λ‹ˆλ‹€.
new Date();라고 μ“°λ©΄ 였늘 λ‚ μ§œμ˜ ν˜„μž¬ μ‹œκ°„ 정보가 λ‚¨μŠ΅λ‹ˆλ‹€.
λ§Œμ•½ νŠΉμ • λ‚ μ§œ 정보λ₯Ό μ œκ³΅ν•˜κ³  싢은 경우 Date()의 ()μ†Œκ΄„ν˜Έ μ•ˆμ— λ‚ μ§œλ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
λ‚ μ§œλŠ” λ¬Έμžν˜•μœΌλ‘œ μž…λ ₯ν•˜κ±°λ‚˜ μˆ«μžν˜•μœΌλ‘œ μž…λ ₯ν•  수 μžˆλŠ”λ°,
λ§Œμ•½ 숫자둜 μž…λ ₯ν•  경우 μ›”μ—μ„œ 1을 λΉΌμ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.
ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ‹œμž‘ μˆ«μžλŠ” 0μ΄λ―€λ‘œ, 0이 κ³§ 1월이 λ©λ‹ˆλ‹€.
λ˜ν•œ λ¬Έμžν˜•μœΌλ‘œ μž‘μ„±ν•  경우 연도와 μ›”,일을 /(μŠ¬λž˜μ‰¬)둜 κ΅¬λΆ„ν•˜κ³ ,
λ§Œμ•½ μˆ«μžν˜•μœΌλ‘œ μž‘μ„±ν•  경우 연도와 μ›”,일을 ,(콀마)둜 κ΅¬λΆ„ν•©λ‹ˆλ‹€.

      [κΈ°λ³Έν˜•]
      1. 였늘 λ‚ μ§œμ˜ ν˜„μž¬ μ‹œκ°„ 정보λ₯Ό μ•Œκ³  싢을 λ•Œ μ‚¬μš©
      - var μ°Έμ‘°λ³€μˆ˜ = new Date();
      2. νŠΉμ • λ‚ μ§œ 정보λ₯Ό μ œκ³΅ν•˜κ³  싢을 λ•Œ μ‚¬μš©
          μ—° / μ›” / 일을 μŠ¬λž˜μ‰¬λ‘œ κ΅¬λΆ„ν•˜μ—¬ μž‘μ„±ν•©λ‹ˆλ‹€.
      - var μ°Έμ‘°λ³€μˆ˜ = new Date('μ—°/μ›”/일'); //ex. var date = new Date('2000/5/31')
      - β˜… var μ°Έμ‘°λ³€μˆ˜ = new Date(μ—°,μ›”-1,일); //ex. var date = new Date(2000,4,31)

✈️ λ‚ μ§œ κ΄€λ ¨ λ©”μ„œλ“œ
λ‚ μ§œ κ΄€λ ¨ λ©”μ„œλ“œλŠ” λ‚ μ§œμ—μ„œ νŠΉμ •ν•œ μ—°λ„λ‚˜, μ›”, μš”μΌ, μ‹œκ°„ 정보λ₯Ό
λ”°λ‘œ λΉΌμ„œ κ°€μ Έμ˜€κ±°λ‚˜ λ°”κΎΈκ³  싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
μ—¬κΈ°μ—μ„œ λ‚ μ§œλ‚˜ μ‹œκ°„ 정보λ₯Ό κ°€μ Έμ˜€κ³  싢을 λ•Œμ—λŠ” 'getλ©”μ„œλ“œ'λ₯Ό μ‚¬μš©ν•˜κ³ ,
λ‚ μ§œλ‚˜ μ‹œκ°„μ •λ³΄λ₯Ό λ°”κΎΈκ³  싢을 λ•Œμ—λŠ” 'setλ©”μ„œλ“œ'λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

      [get]
      1. getFullYear() : 연도 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      2. getMonth() : μ›” 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      //-1된 κ°’μœΌλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€. 0은 μ›”μš”μΌμž…λ‹ˆλ‹€.
      3. getDate() : 일 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      4. getDay() : μš”μΌ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€. 
      //μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ μš”μΌμ€ 숫자둜 ν‘œν˜„λ©λ‹ˆλ‹€. 
        0~6κΉŒμ§€μ˜ 숫자둜 ν‘œν˜„μ΄λ˜λ©°,
        0은 μΌμš”μΌ, 6은 ν† μš”μΌ μž…λ‹ˆλ‹€.
      5. getHours() : μ‹œ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      6. getMinutes() : λΆ„ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      7. getSeconds() : 초 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
      8.β˜… getMilliSeconds() : λ°€λ¦¬μ΄ˆ 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.(1/1,000초 λ‹¨μœ„)
      9. getTime() : 1970λ…„ 1μ›” 1일뢀터 경과된 μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€.
      10. toGMTString(): GMT ν‘œμ€€ ν‘œκΈ° λ°©μ‹μœΌλ‘œ λ¬Έμžν˜• λ°μ΄ν„°λ‘œ μ‹œκ°„μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      [set]
      1. setFullYear() : 연도 μ •λ³΄λ§Œ μˆ˜μ •ν•©λ‹ˆλ‹€.
      2. setMonth() : μ›” 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
      //-1된 κ°’μœΌλ‘œ μˆ˜μ • ν•΄μ•Ό ν•©λ‹ˆλ‹€.
      3. setDate() : 일 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
      //μš”μΌμ€ μΌμžκ°€ λ°”λ€Œλ©΄ μžλ™μœΌλ‘œ λ°”λ€Œλ―€λ‘œ setDayλŠ” μ—†μŠ΅λ‹ˆλ‹€.
      4. setHours() : μ‹œ 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
      6. setMinutes() : λΆ„ 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
      7. setSeconds() : 초 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
      8. setMilliSeconds() : λ°€λ¦¬μ΄ˆ 정보λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.(1/1,000초 λ‹¨μœ„)
      9. setTime() : 1970λ…„ 1μ›” 1일뢀터 경과된 μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ μˆ˜μ •ν•©λ‹ˆλ‹€.
      10. toLocaleString(): 운영 μ‹œμŠ€ν…œ ν‘œκΈ° λ°©μ‹μœΌλ‘œ λ¬Έμžν˜• λ°μ΄ν„°λ‘œ μ‹œκ°„μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

πŸ›« 도전 μ‹€μŠ΅! 2002λ…„ μ›”λ“œμ»΅μ˜ μš”μΌ 정보λ₯Ό μ•Œμ•„λ΄…μ‹œλ‹€

      document.write("<h2>2002λ…„ μ›”λ“œμ»΅μ˜ μš”μΌ 정보λ₯Ό κ΅¬ν•΄λ³΄μž!</h2>");
      var worldcup = new Date(2002, 4, 31); //μ›”λ“œμ»΅μ€ 2002λ…„ 5μ›” 31일에 κ°œμ΅œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
      var theMonth = worldcup.getMonth() + 1; //μ›”λ“œμ»΅ μ›” 정보
      var theDate = worldcup.getDate(); //μ›”λ“œμ»΅μ˜ 일 정보
      var theDay = worldcup.getDay(); //μ›”λ“œμ»΅ 일자의 μš”μΌ 정보
      //μš”μΌμ„ μˆ«μžμ—μ„œ 문자둜 λ³€ν™˜ν•˜κΈ°
      switch (theDay) {
        case 0:
          theDay = "μΌμš”μΌ";
          break;
        case 1:
          theDay = "μ›”μš”μΌ";
          break;
        case 2:
          theDay = "ν™”μš”μΌ";
          break;
        case 3:
          theDay = "μˆ˜μš”μΌ";
          break;
        case 4:
          theDay = "λͺ©μš”일";
          break;
        case 5:
          theDay = "κΈˆμš”μΌ";
          break;
        case 6:
          theDay = "ν† μš”μΌ";
          break;
        default:
          alert("ν•΄λ‹Ήν•˜λŠ” μš”μΌμ΄ μ—†μŠ΅λ‹ˆλ‹€.");
      }
      document.write(
        "μ›”λ“œμ»΅ κ°œμ΅œμΌμ€" + theMonth + "μ›”" + theDate + "일" + theDay
      );

β›… 디데이 계산기λ₯Ό λ§Œλ“€μ–΄λ΄…μ‹œλ‹€
β˜€οΈ ν˜„μž¬ λ‚ μ§œλΆ€ν„° νŠΉμ • λ‚ μ§œκΉŒμ§€ 며칠이 λ‚¨μ•˜λŠ”μ§€ κ΅¬ν•˜λŠ” 곡식
남은 일 수(λ°€λ¦¬μ΄ˆ) = νŠΉμ • λ‚ μ§œ 객체 - ν˜„μž¬ λ‚ μ§œ 객체
β˜€οΈ λ°€λ¦¬μ΄ˆλ‘œ κ³„μ‚°ν•œ μ‹œκ°„κ°’
1초 = 1000(msc)
1λΆ„(60초) = 1000 * 60 > 60,000(msc)
1μ‹œκ°„(60λΆ„) = 1000 * 60 * 60 > 3,600,000(msc)
1일(60λΆ„ * 24) = 1000 * 60 * 60 * 24 > 86,400,000(msc)

      var today = new Date(); //였늘 λ‚ μ§œ
      var nowYear = today.getFullYear(); //ν˜„μž¬ 연도 정보
      var theDate = new Date(nowYear, 11, 31); //μ˜¬ν•΄ 말일 정보
      //남은 일수(λ°€λ¦¬μ΄ˆ) = μ˜¬ν•΄ 말일(λ°€λ¦¬μ΄ˆ) - 였늘 λ‚ μ§œ(λ°€λ¦¬μ΄ˆ)
      var diffDate = theDate.getTime() - today.getTime();
      //result = 반올림(남은일 수 / ν•˜λ£¨)
      var result = Math.ceil(diffDate / (1000 * 60 * 60 * 24));
      document.write("연말 D-Day : " + result + " 일 λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.");

πŸ€ μˆ˜ν•™ 객체에 λŒ€ν•΄ μ•Œμ•„λ΄…μ‹œλ‹€
μžλ°”μŠ€ν¬λ¦½νŠΈ λ‚΄μž₯ κ°μ²΄μ—λŠ” μˆ˜ν•™κ³Ό κ΄€λ ¨λœ κΈ°λŠ₯κ³Ό 속성을 μ œκ³΅ν•˜λŠ” μˆ˜ν•™ 객체가 μžˆμŠ΅λ‹ˆλ‹€.
λ”ν•˜κΈ°, λΉΌκΈ°, κ³±ν•˜κΈ°, λ‚˜λˆ„κΈ°μ™€ 같은 κ°„λ‹¨ν•œ 연산식이 μ•„λ‹Œ
μ–΄λ €μš΄ 연산식을 μ‰½κ²Œ κ³„μ‚°ν•˜λ„λ‘ λ§Œλ“€μ–΄μ§„ κ°μ²΄μž…λ‹ˆλ‹€.

      [λ©”μ„œλ“œμ™€ μƒμˆ˜ μ’…λ₯˜]
      1. Math.abs(숫자) : 숫자의 μ ˆλŒ€κ°’μ„ λ°˜ν™˜ν•œλ‹€.
      2. Math.max(숫자1, 숫자2, 숫자3...) : 숫자 쀑 κ°€μž₯ 큰 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
      3. Math.min(숫자1, 숫자2, 숫자3...) : 숫자 쀑 κ°€μž₯ μž‘μ€ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
      4. Math.pow(숫자, μ œκ³±κ°’) : 숫자의 κ±°λ“­ μ œκ³±κ°’μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      5. Math.random() : 0 ~ 1 μ‚¬μ΄μ˜ λ‚œμˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      6. Math.round(숫자) : μ†Œμˆ˜μ  첫째 μžλ¦¬μ—μ„œ λ°˜μ˜¬λ¦Όν•˜μ—¬ μ •μˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      7. Math.ceil(숫자) : μ†Œμˆ˜μ  첫째 μžλ¦¬μ—μ„œ 무쑰건 μ˜¬λ¦Όν•˜μ—¬ μ •μˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      8. Math.floor(숫자) : μ†Œμˆ˜μ  첫째 μžλ¦¬μ—μ„œ 무쑰건 λ‚΄λ¦Όν•˜μ—¬ μ •μˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      9. Math.sqrt(숫자) : 숫자의 μ œκ³±κ·Όκ°’μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      10. Math.PI : μ›μ£Όμœ¨ μƒμˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
      var num = 2.1234;
---------------------------------------------------
      var maxNum = Math.max(10, 5, 8, 30);
      document.write(maxNum, "<br/>"); //30
---------------------------------------------------
      var minNum = Math.min(10, 5, 8, 30);
      document.write(minNum, "<br/>"); //5
---------------------------------------------------
      var roundNum = Math.round(num);
      document.write(roundNum, "<br/>"); //2
---------------------------------------------------
      var floorNum = Math.floor(num);
      document.write(roundNum, "<br/>"); //2
---------------------------------------------------
      var ceilNum = Math.ceil(num);
      document.write(ceilNum, "<br/>"); //3
---------------------------------------------------
      var randomNum = Math.random();
      document.write(randomNum, "<br/>"); //0~1μ‚¬μ΄μ˜ 랜덀수
---------------------------------------------------
      var piNum = Math.PI;
      document.write(piNum, "<br/>"); //3.14159............

πŸ‘€ 랜덀 숫자λ₯Ό 좜λ ₯ν•΄λ΄…μ‹œλ‹€
Math.random()λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ 0κ³Ό 1 μ‚¬μ΄μ˜ λžœλ€ν•œ λ‚œμˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
λ§Œμ•½ 0κ³Ό 1사이가 μ•„λ‹Œ μž„μ˜λ‘œ μ§€μ •ν•œ 숫자의 κ΅¬κ°„μ—μ„œ λ‚œμˆ˜λ₯Ό μ •μˆ˜λ‘œ λ°˜ν™˜ λ°›κ³  μ‹Άλ‹€λ©΄
μ•„λž˜μ™€ 같은 곡식을 μ‚¬μš©ν•©λ‹ˆλ‹€.

     [곡식]
     Math.random() * μ΅œλŒ“κ°’
0λΆ€ν„° μ΅œλŒ“κ°’ μ‚¬μ΄μ˜ λ‚œμˆ˜λ₯Ό μ‹€μˆ˜λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
----------------------------------------------------- 
     Math.floor(Math.random * (μ΅œλŒ“κ°’ + 1))
0λΆ€ν„° μ΅œλŒ“κ°’ μ‚¬μ΄μ˜ λžœλ€ν•œ 수λ₯Ό μ •μˆ˜λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
-----------------------------------------------------
     Math.floor(Math.random()*(μ΅œλŒ“κ°’ - μ΅œμ†Ÿκ°’ + 1)) + μ΅œμ†Ÿκ°’;
μ›ν•˜λŠ” ꡬ간 μ‚¬μ΄μ˜ λžœλ€ν•œ 수λ₯Ό μ •μˆ˜λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
      //0κ³Ό 10μ‚¬μ΄μ˜ λ‚œμˆ˜λ₯Ό λ°˜ν™˜ν•˜κΈ°
      var num1 = Math.random() * 10;
      document.write(num1, "<br/>");
-----------------------------------------------------
      //0κ³Ό 10μ‚¬μ΄μ˜ λ‚œμˆ˜λ₯Ό μ •μˆ˜λ‘œ λ°˜ν™˜ν•˜κΈ°
      num1 = Math.floor(Math.random() * 11);
      document.write(num1, "<br/>");
-----------------------------------------------------
      //120λΆ€ν„° 150κΉŒμ§€μ˜ λ‚œμˆ˜λ₯Ό μ •μˆ˜λ‘œ μ „ν™˜λ°›κΈ°
      num1 = Math.floor(Math.random() * 31) + 120;
      document.write(num1, "<br/>");

πŸ—¨οΈ μ†μœΌλ‘œ 직접 κ³΅λΆ€ν•œ λ‚΄μš©μ„ λ°”νƒ•μœΌλ‘œ μž‘μ„±ν•œ κΈ€μ΄λžλ‹ˆλ‹€ !
βœ–οΈ
μ•žμœΌλ‘œλ„ μ—΄μ‹¬νžˆ κ³΅λΆ€ν•΄μ„œ λ§Žμ€ λ‚΄μš©μ„ κ³΅μœ ν•˜κ² μŠ΅λ‹ˆλ‹€ :)

profile
🎧 α΄˜ΚŸα΄€ΚΙͺΙ΄Ι’: UXUI (Feat: coding) ─────────βšͺ───── 𝟸:𝟷𝟾 / 𝟹:πŸ»πŸΌβ € γ…€ ◄◄⠀▐▐⠀►► ───○ πŸ”Š

0개의 λŒ“κΈ€