230313 - λ‚΄μž₯객체, Math, String, Date

λ°±μŠΉμ—°Β·2023λ…„ 3μ›” 13일
1

λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ ν•œκ²ƒ μ™„μ„± ν›„ μΆ”κ°€

🚩 Math

Math

πŸ“ μ„€λͺ…

  • μˆ˜ν•™μ μΈ μƒμˆ˜μ™€ ν•¨μˆ˜λ₯Ό μœ„ν•œ 속성과 λ©”μ„œλ“œλ₯Ό 가진 λ‚΄μž₯ 객체이닀. (ν•¨μˆ˜ 객체❌)
  • Number μžλ£Œν˜•λ§Œ 지원

λ©”μ„œλ“œ

  • abs() : μ ˆλŒ€κ°’ 좜λ ₯
  • ceil() : μ†Œμˆ˜μ  μ΄ν•˜ 올림
  • floor() : μ†Œμˆ˜μ  μ΄ν•˜ λ‚΄λ¦Ό (음수 포함)
  • round() : 반올림
  • trunc() : μ •μˆ˜λ§Œ λ°˜ν™˜ (μ‹€μˆ˜βŒ)
  • max() : μ΅œλŒ“κ°’ λ°˜ν™˜
  • min() : μ΅œμ†Ÿκ°’ λ°˜ν™˜
  • pow() : κ±°λ“­μ œκ³±
  • sqrt() : 제곱근
  • random() : 0 ~ 1μ‚¬μ΄μ˜ λ‚œμˆ˜ λ°œμƒ(λžœλ€κ°’)


βœ’ μ‚¬μš©λ²•

μž…λ ₯

js

// Math

// Method
console.log("abs() - μ ˆλŒ€κ°’", Math.abs(-10)); // 10 // λ§ˆμ΄λ„ˆμŠ€λ₯Ό μ—†μ• μ€Œ
console.log("ceil() - μ†Œμˆ˜μ  μ΄ν•˜λ₯Ό 무쑰건 올림", Math.ceil(1.248)); // 2
console.log("floor() - μ†Œμˆ˜μ  μ΄ν•˜λ₯Ό 무쑰건 λ‚΄λ¦Ό", Math.floor(-1.548)); // -2
console.log("round() - 반올림", Math.round(1.568)); // 2
console.log("round() - 반올림", Math.round(1.468)); // 1
console.log("trunc() - μ •μˆ˜λ§Œ λ°˜ν™˜", Math.trunc(-1.568)); // 1
console.log();

// μ΅œλŒ“κ°’ μ΅œμ†Ÿκ°’
console.log("max() - μΈμžλ“€ 쀑 κ°€μž₯ 큰 값을 λ°˜ν™˜", Math.max(1, 3, -4, 5, 7, 9, 2, 10));
console.log("min() - μΈμžλ“€ 쀑 κ°€μž₯ μž‘μ€ 값을 λ°˜ν™˜", Math.min(1, 3, -4, 5, 7, 9, 2, 10));
console.log();

// κ±°λ“­μ œκ³±
console.log("3 ** 3 - κ±°λ“­μ œκ³±", 3 ** 3); // 27 // 3의 제곱 (3 * 3)
console.log("pow() - κ±°λ“­μ œκ³±", Math.pow(3, 3)); // 27
console.log();

// 제곱근 (숫자 Aλ₯Ό μ œκ³±ν•˜μ—¬ Bκ°€ λ˜μ—ˆμ„ λ•Œμ˜ Aκ°’)
console.log("sqrt() - 제곱근", Math.sqrt(9)); // 9의 μ œκ³±κ·Όμ€ 3
console.log();

// λ‚œμˆ˜
console.log("random() - 0μ—μ„œ 1사이 λžœλ€κ°’ λ°œμƒ", Math.random());
console.log("random() * 10 + 1 : 1μ—μ„œ 10사이 λžœλ€κ°’ λ°œμƒ", Math.random() * 10 + 1);
console.log("random() * 4 : 0μ—μ„œ 3사이 λžœλ€κ°’ λ°œμƒ", Math.random() * 4);
console.log("Math.floor(Math.random() * 4) : 0μ—μ„œ 3사이 μ†Œμˆ˜μ  μ΄ν•˜ λ‚΄λ¦Ό", Math.floor(Math.random() * 4));

좜λ ₯

  • μ΄λ―Έμ§€λ‘œ λŒ€μ²΄

πŸ”— μ°Έκ³  링크 & 도움이 λ˜λŠ” 링크






🚩 String

πŸ“ μ„€λͺ…

  • String μ „μ—­ κ°μ²΄λŠ” λ¬Έμžμ—΄μ˜ μƒμ„±μž


μƒμ„±μž

  • new String() : 객체둜 λ¬Έμžμ—΄μ„ 좜λ ₯함. heap μ˜μ—­μ— μ €μž₯됨

속성

  • .length : λ¬Έμžμ—΄μ˜ κΈ€μž 수 좜λ ₯(띄어쓰기 포함)

λ©”μ„œλ“œ

  • λ³€μˆ˜[index] : λ°°μ—΄μ²˜λŸΌ 인덱슀λ₯Ό μ΄μš©ν•΄μ„œ λͺ‡ 번째 λ¬ΈμžμΈμ§€ μ•Œμ•„μ˜¬ 수 μžˆλ‹€.
  • .charAt(n) : 배열을 μ΄μš©ν•˜μ§€ μ•Šκ³  λͺ‡ 번째 λ¬ΈμžμΈμ§€ μ•Œμ•„μ˜΄
  • .indexOf("") : λ¬Έμžμ—΄ μ•ˆμ— ν•΄λ‹Ήν•˜λŠ” λ¬Έμžκ°€ λͺ‡ 번째 λ¬ΈμžμΈμ§€ μ•Œ 수 μžˆλ‹€.
  • .lastIndexOf("") : μ—¬λŸ¬κ°œμ˜ 문자 쀑 ν•΄λ‹Ήν•˜λŠ” λ¬Έμžμ—΄μ˜ λ§ˆμ§€λ§‰ 문자 μˆœμ„œλ₯Ό μ•Œλ €μ€Œ
  • .includes("") : νŠΉμ • λ¬Έμžκ°€ μžˆλŠ”μ§€ 확인(boolean)
  • .startsWith("") : νŠΉμ • 문자둜 μ‹œμž‘ν•˜λŠ”μ§€ 확인(boolean, λŒ€μ†Œλ¬Έμž ꡬ뢄)
  • .endsWith("") : νŠΉμ • 문자둜 λλ‚˜λŠ”μ§€ 확인(boolean, λŒ€μ†Œλ¬Έμž ꡬ뢄)
  • .toUpperCase() : 문자λ₯Ό λͺ¨λ‘ λŒ€λ¬Έμžλ‘œ λ³€κ²½
  • .toLowerCase() : 문자λ₯Ό λͺ¨λ‘ μ†Œλ¬Έμžλ‘œ λ³€κ²½
  • .slice(n) : μ•ž 문자(λ“€)λ₯Ό μž˜λΌμ„œ κ°€μ Έμ˜΄(λ¬Έμžμ—΄ 맨 μ•žλΆ€ν„° n개 μ‚­μ œ)
  • .slice(-n) : λ’€μͺ½ 문자λ₯Ό μž˜λΌμ„œ κ°€μ Έμ˜΄(λ¬Έμžμ—΄ 맨 λ’€μ—μ„œ n개 μΆ”μΆœ)
  • .split("") : μ§€μ •ν•œ κ΅¬λΆ„μžλ₯Ό μ΄μš©ν•˜μ—¬ μ—¬λŸ¬κ°œμ˜ λ¬Έμžμ—΄λ‘œ λ‚˜λˆ”
  • .split("", n) : μ§€μ •ν•œ κ΅¬λΆ„μžλ₯Ό μ΄μš©ν•˜μ—¬ μ—¬λŸ¬κ°œμ˜ λ¬Έμžμ—΄λ‘œ λ‚˜λˆˆ ν›„ μ§€μ •ν•œ 갯수만큼 κ°€μ Έμ˜΄

βœ’ μ‚¬μš©λ²•

μž…λ ₯

js

// string

const textObj = new String("hello world"); // 객체둜 좜λ ₯
const ttt = "hello world"; // μ›μ‹œνƒ€μž…μœΌλ‘œ 좜λ ₯
console.log(textObj); // [String: "hello world"]
console.log(ttt); // hello world
console.log("length - κΈ€μž 수(띄어쓰기 포함) : ", ttt.length); // .을 찍으면 μ‚¬μš©κ°€λŠ₯ν•œ λͺ¨λ“  mehtod와 propertyκ°€ λ‚˜μ˜΄
// λ°°μ—΄μ²˜λŸΌ 인덱슀λ₯Ό μ΄μš©ν•΄μ„œ λͺ‡ 번째 λ¬ΈμžμΈμ§€ μ•Œμ•„μ˜¬ 수 μžˆλ‹€.
console.log("1번째 인덱슀의 문자 : ", ttt[0]); // h
console.log("5번째 인덱슀의 문자 : ", ttt[4]); // o
console.log("6번째 인덱슀의 문자 : ", ttt[5]); // (띄어쓰기. 곡백)
// 배열을 μ΄μš©ν•˜μ§€ μ•Šκ³  λͺ‡ 번째 λ¬ΈμžμΈμ§€ μ•Œμ•„μ˜΄
console.log("charAt(6) - 7번째 인덱슀의 문자 : ", ttt.charAt(6)); // w

console.log("wλŠ” λͺ‡ 번째 λ¬ΈμžμΈκ°€? : ", ttt.indexOf("w"));
console.log("μ—¬λŸ¬ 개의 l쀑에 λ§ˆμ§€λ§‰ 문자(μ•žμ—μ„œλΆ€ν„° μ…ˆ) : ", ttt.lastIndexOf("l"));
// μ—†λŠ” 문자λ₯Ό 찾을 λ•ŒλŠ” -1
console.log("νŠΉμ • λ¬Έμžκ°€ μžˆλŠ”μ§€ 확인(boolean)", ttt.includes("kor"));
console.log("νŠΉμ • 문자둜 μ‹œμž‘ν•˜λŠ”μ§€ 확인(boolean)", ttt.startsWith("h")); // λŒ€μ†Œλ¬Έμž ꡬ뢄
console.log("νŠΉμ • 문자둜 μ‹œμž‘ν•˜λŠ”μ§€ 확인(boolean)", ttt.startsWith("H")); // λŒ€μ†Œλ¬Έμž ꡬ뢄
console.log("νŠΉμ • 문자둜 λλ‚˜λŠ”μ§€ 확인(boolean)", ttt.endsWith("d")); // λŒ€μ†Œλ¬Έμž ꡬ뢄
console.log("νŠΉμ • 문자둜 λλ‚˜λŠ”μ§€ 확인(boolean)", ttt.endsWith("D")); // λŒ€μ†Œλ¬Έμž ꡬ뢄
console.log();

console.log("λŒ€λ¬Έμž", ttt.toUpperCase());
console.log("μ†Œλ¬Έμž", ttt.toLowerCase());

console.log("μ•ž 문자(λ“€)λ₯Ό 자λ₯΄κ³  κ°€μ Έμ˜΄", ttt.slice(2)); // llo world
console.log("λ’€ 문자(λ“€)만 잘라 κ°€μ Έμ˜΄", ttt.slice(-2)); // ld

console.log();

const aa = "       space        ";
console.log("trim() - ", aa);
console.log("trim() - 곡백 μ‚­μ œ", aa.trim()); // 곡백 μ‚­μ œ
console.log();

const longTxt = "Fly to the Moon";
console.log("split() - μ§€μ •ν•œ κ΅¬λΆ„μžλ₯Ό μ΄μš©ν•˜μ—¬ μ—¬λŸ¬κ°œμ˜ λ¬Έμžμ—΄λ‘œ λ‚˜λˆ”\n", longTxt.split(" "));
console.log("split() - μ§€μ •ν•œ κ΅¬λΆ„μžλ₯Ό μ΄μš©ν•˜μ—¬ μ—¬λŸ¬κ°œμ˜ λ¬Έμžμ—΄λ‘œ λ‚˜λˆˆ ν›„ μ§€μ •ν•œ 갯수만큼 κ°€μ Έμ˜΄\n", longTxt.split(" ", 2));

좜λ ₯

  • μ΄λ―Έμ§€λ‘œ λŒ€μ²΄

πŸ”— μ°Έκ³  링크 & 도움이 λ˜λŠ” 링크






🚩 Date

Date

πŸ“ μ„€λͺ…

  • 둜컬 PC에 μ„€μ •λœ ν˜„μž¬ λ‚ μ§œ, μ‹œκ°„μ„ μ–»μ–΄μ˜΄ (js 기본제곡 λ©”μ†Œλ“œ)
  • 1970λ…„ 1μ›” 1일 00μ‹œ κΈ°μ€€

μƒμ„±μž

  • new Date() : μƒμ„±μžλ‘œ ν˜ΈμΆœν•  경우 Date 객체 λ°˜ν™˜

λ©”μ„œλ“œ

-property.getFullYear() : ν˜„μž¬ 년도 λ°˜ν™˜
-.getMonth() : ν˜„μž¬ μ›” λ°˜ν™˜

  • 0λΆ€ν„° μ‹œμž‘ν•˜κΈ° λ•Œλ¬Έμ— property.getMonth() + 1을 ν•΄μ•Ό μ›ν•˜λŠ” 달이 좜λ ₯됨
    -.getDate() : ν˜„μž¬ 일 λ°˜ν™˜
    -.getDay() : ν˜„μž¬ μš”μΌ λ°˜ν™˜
  • 숫자둜 μ‹œμž‘. 0 : μΌμš”μΌ ~ 6 : ν† μš”μΌ
    -.getHours() : ν˜„μž¬ μ‹œκ°„ λ°˜ν™˜
    -.getMinutes() : ν˜„μž¬ λΆ„ λ°˜ν™˜
    -.getSeconds() : ν˜„μž¬ 초 λ°˜ν™˜


βœ’ μ‚¬μš©λ²•

μž…λ ₯

html

<style>
  body {
    background: lightblue;
  }
  body > div {
    width: 500px;
    margin: 200px auto;
    padding: 50px;
    text-align: center;
    background: rgba(75, 128, 158, 0.7);
    color: #fff;
  }
  h2 {
    font-size: 22px;
    margin-top: 40px;
    color: darkslategrey;
  }
  #p1 {
    font-size: 20px;
    color: #fff;
    /* border: 2px solid lightblue;
    border-right: 0;
    border-left: 0; */
  }
</style>

<body>
  <div>
    <h1>Date Object</h1>
    <p id="p1"></p>
  </div>
</body>

js

const today = new Date();
console.log(today);
console.log(Date()); // 1. 둜컬 PC에 μ„€μ •λœ ν˜„μž¬ λ‚ μ§œ, μ‹œκ°„μ„ μ–»μ–΄μ˜΄ (js 기본제곡 λ©”μ†Œλ“œ)

// Array() μƒμ„±μž
let week = new Array("일", "μ›”", "ν™”", "수", "λͺ©", "금", "ν† "); // μš”μΌμ„ ν•œκΈ€λ‘œ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ λ°°μ—΄λ‘œ 지정

let msg = `<h2>였늘 λ‚ μ§œ 정보</h2>`; // h2둜 감싼 였늘 λ‚ μ§œ 정보λ₯Ό msg λ³€μˆ˜ μ•ˆμ— λŒ€μž…
msg += `ν˜„μž¬ 연도 : ${today.getFullYear()}λ…„<br>`; // 기쑴에 있던 λ‚΄μš©μ΄ λ³€κ²½ λ˜λŠ” 것이 μ•„λ‹ˆλΌ 밑에 좔가됨. 기쑴의 msg에 λ‚΄μš©μ΄ 좔가됨
// msg = `ν˜„μž¬ 연도 : ${today.getFullYear()}λ…„<br>`; // 기쑴에 있던 λ‚΄μš©μ΄ 변경됨(λŒ€μ²΄λ¨)
msg += `ν˜„μž¬ μ›” : ${today.getMonth() + 1}μ›”<br>`; // 0λΆ€ν„° μ‹œμž‘
msg += `ν˜„μž¬ 일 : ${today.getDate()}일<br>`;
msg += `ν˜„μž¬ μš”μΌ : ${today.getDay()}번째 μš”μΌ<br>`; // 숫자둜 μ‹œμž‘. 0μΌμš”μΌ ~ 6ν† μš”μΌ
msg += `ν˜„μž¬ μš”μΌ : ${week[today.getDay()]}μš”μΌ<br>`; // 숫자둜 μ‹œμž‘. 0μΌμš”μΌ ~ 6ν† μš”μΌ

msg += `<h2>ν˜„μž¬ μ‹œκ°„ 정보</h2>`;
msg += `ν˜„μž¬ μ‹œκ°„ : ${today.getHours()}μ‹œ<br>`;
msg += `ν˜„μž¬ λΆ„ : ${today.getMinutes()}λΆ„<br>`;
msg += `ν˜„μž¬ 초 : ${today.getSeconds()}초<br><hr>`;


// D-day 지정 (νŠΉμ •ν•œ λ‚  지정)
// UTC (Universal Time Coordinated); ν˜‘μ • μ„Έκ³„μ‹œ
// 1970λ…„ 1μ›” 1일 μžμ •
const dDay = new Date(today.getFullYear(), 11, 31); // 0λΆ€ν„° μ‹œμž‘
console.log("μ„€μ •ν•œ λ‚ μ§œ(μ˜¬ν•΄ λ§ˆμ§€λ§‰ λ‚ ) : ", dDay);

let diffDay = dDay.getTime() - today.getTime();
      console.log("dDay(μ˜¬ν•΄ λ§κΉŒμ§€ 남은 μ‹œκ°„) λ°€λ¦¬μ„Έμ»¨μœΌλ‘œ : ", diffDay);

      msg += `<h2>μ˜¬ν•΄ 남은 λ‚ μ§œ</h2>`;
      const diffDay_s = diffDay / 1000;
      msg += `μ˜¬ν•΄ λ§ˆμ§€λ§‰ λ‚ κΉŒμ§€ <big><b>${Math.ceil(diffDay_s)}</b></big>μ΄ˆκ°€ λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.<br>`;

      const diffDay_m = diffDay_s / 60;
      msg += `μ˜¬ν•΄ λ§ˆμ§€λ§‰ λ‚ κΉŒμ§€ <big><b>${Math.ceil(diffDay_m)}</b></big>뢄이 λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.<br>`;

      const diffDay_h = diffDay_m / 60;
      msg += `μ˜¬ν•΄ λ§ˆμ§€λ§‰ λ‚ κΉŒμ§€ <big><b>${Math.ceil(diffDay_h)}</b></big>μ‹œκ°„μ΄ λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.<br>`;

      const diffDay_d = diffDay_h / 24;
      msg += `μ˜¬ν•΄ λ§ˆμ§€λ§‰ λ‚ κΉŒμ§€ <big><b>${Math.ceil(diffDay_d)}</b></big>일이 λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.<br>`;

      msg += `<h2>λ‚΄ μƒμΌκΉŒμ§€ 남은 λ‚ μ§œ</h2>`;
      // const bDay = new Date("Nov 26 2023");
      const bDay = new Date("2023 11 26");
      const diffBDay_s = bDay.getTime() - today.getTime(); // 초
      const bDayDate = bDay.toDateString(); // λ”± λ‚ μ§œ μ •λ³΄λ§Œ κ°€μ Έμ˜΄
      const diffBDay = Math.ceil(diffBDay_s / 1000 / 60 / 60 / 24);

      msg += `λ‚΄ 생일은? : ${bDayDate}<br>`;
      msg += `λ‚΄ 생일은 <big><b>${diffBDay}</b></big>일이 λ‚¨μ•˜μŠ΅λ‹ˆλ‹€.<br>`;

const elP1 = document.querySelector("#p1");
elP1.innerHTML = msg; // 2. msgλ₯Ό html νƒœκ·Έκ°€ 먹히게(innerHTML) #p1 μ•ˆμ— λŒ€μž…

좜λ ₯

  • μ΄λ―Έμ§€λ‘œ λŒ€μ²΄

html

console


πŸ”— μ°Έκ³  링크 & 도움이 λ˜λŠ” 링크






profile
κ³΅λΆ€ν•˜λŠ” 벨둜그

0개의 λŒ“κΈ€