🎨 Frontend/JavaScript

🍦Vanilla JS β‘€ 객체 - (2).1 ν‘œμ€€ λ‚΄μž₯ 객체 : String, Number

kongmi 2023. 3. 28. 18:35

🍦 μžλ°”μŠ€ν¬λ¦½νŠΈμ—λŠ” 개발 편의λ₯Ό μœ„ν•΄ μˆ˜λ§Žμ€ 객체가 미리 λ§Œλ“€μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€.

🍦 μ΄λ ‡κ²Œ λ§Œλ“€μ–΄μ§„ κ°μ²΄λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ— 기본으둜 λ‚΄μž₯λ˜μ–΄ μžˆμ–΄μ„œ μŠ€μ½”ν”„μ˜ μœ„μΉ˜λ₯Ό λ”°μ§€μ§€ μ•Šκ³  λͺ¨λ“  μ˜μ—­μ—μ„œ κ³΅ν†΅μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • Object : κ°€μž₯ 기본적인 객체, λͺ¨λ“  객체의 μƒμœ„ 객체 μž…λ‹ˆλ‹€.
  • Array : 배열을 λ‚˜νƒ€λ‚΄λŠ” 객체, μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • String : λ¬Έμžμ—΄μ„ λ‚˜νƒ€λ‚΄λŠ” 객체, λ¬Έμžμ—΄μ„ λ‹€λ£¨λŠ” λ‹€μ–‘ν•œ λ©”μ†Œλ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • Number : 숫자λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 객체, 숫자λ₯Ό λ‹€λ£¨λŠ” λ‹€μ–‘ν•œ λ©”μ†Œλ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • Boolean : true / falseλ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°μ²΄μž…λ‹ˆλ‹€.
  • Date : λ‚ μ§œμ™€ μ‹œκ°„μ„ λ‹€λ£¨λŠ” 객체, λ‚ μ§œμ™€ μ‹œκ°„μ„ λ‹€λ£¨λŠ” λ‹€μ–‘ν•œ λ©”μ†Œλ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • Math : μˆ˜ν•™μ μΈ 계산을 λ‹€λ£¨λŠ” 객체, μˆ˜ν•™μ μΈ ν•¨μˆ˜μ™€ μƒμˆ˜λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • RegExp : μ •κ·œν‘œν˜„μ‹μ„ λ‹€λ£¨λŠ” 객체, λ¬Έμžμ—΄μ—μ„œ νŠΉμ •ν•œ νŒ¨ν„΄μ„ κ²€μƒ‰ν•˜κ±°λ‚˜ μΉ˜ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • Set : μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 값을 λͺ¨μ•„놓은 집합을 λ‚˜νƒ€λ‚΄λŠ” 객체 μž…λ‹ˆλ‹€.
  • Map : key - value 값이 쌍으둜 데이터λ₯Ό μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 객체 μž…λ‹ˆλ‹€.

String 객체

length : λ¬Έμžμ—΄ 길이 체크

πŸ‘‰ number

const pw = "123";
if(pw.length < 4) {
  console.log("λΉ„λ°€λ²ˆν˜ΈλŠ” μ΅œμ†Œ 4자리 이상 μž…λ ₯ν•΄ μ£Όμ„Έμš”.");
}

includes(a) : a λ¬Έμžμ—΄ 포함 μ—¬λΆ€ 확인

πŸ‘‰ boolean

const email = "test_naver.com";
if(!email.includes("@")) {
  console.log(`μ˜¬λ°”λ₯Έ 이메일 ν˜•μ‹μ΄ μ•„λ‹™λ‹ˆλ‹€.`);
}

indexOf(a) : a와 μΌμΉ˜ν•˜λŠ” 첫번째 문자 인덱슀 λ°˜ν™˜

πŸ‘‰ number

const email2 = "test_naver.com";
if(email2.indexOf("@") === -1) {
  console.log(`@κ°€ λˆ„λ½λ˜μ—ˆμŠ΅λ‹ˆλ‹€.`);
}

lastIndexOf(a) : aκ°€ λ‘˜ 이상 발견되면 제일 λ§ˆμ§€λ§‰μ— 발견된 인덱슀 λ°˜ν™˜

πŸ‘‰ number

const email3 = "@test@naver.com@";
console.log(email3.lastIndexOf("@")); // 15

slice(a, b) : a λΆ€ν„° b-1 κΉŒμ§€

  • slice(a, -1) : a번 μΈλ±μŠ€λΆ€ν„° λμ—μ„œ ν•œκΈ€μž λΉΌκ³  좜λ ₯

πŸ‘‰ string

let str = "Apple, Banana, Kiwi";
let rst = str.slice(0,5);
console.log(rst); // Apple
console.log(str); // λΆˆλ³€μ„± 원칙 (원본 보쑴)
console.log(str.slice(0,5)); // μ΄λ ‡κ²Œ 해도 str은 원본 μœ μ§€λ¨
console.log(str); // Apple, Banana, Kiwi

subString(a, b) : a λΆ€ν„° b-1 κΉŒμ§€

  • subString(a, -1) : 0번 μΈλ±μŠ€λΆ€ν„° n-1번 μΈλ±μŠ€κΉŒμ§€ 좜λ ₯
let str2 = "Apple, Banana, Kiwi";
let rst2 = str2.substring(7,-1);
console.log(rst2); // Apple,

replace(a, b) : aλ₯Ό b둜 '첫번째 인덱슀'만 λ°”κΏ”μ€Œ

let str3 = "μ§€κ΅¬μ˜€λ½μ‹€, μ΄μ˜μ§€, μ•ˆμœ μ§„, λ―Έλ―Έ, 이은지, μ•ˆμœ μ§„";
let newStr = str3.replace("μ•ˆμœ μ§„", "λ‚˜μ˜μ„");
console.log(newStr); // μ§€κ΅¬μ˜€λ½μ‹€, μ΄μ˜μ§€, λ‚˜μ˜μ„, λ―Έλ―Έ, 이은지, μ•ˆμœ μ§„

 replaceAll(a, b) : aλ₯Ό b둜 'λͺ¨λ‘' λ°”κΏ”μ€Œ

let newStr2 = str3.replaceAll("μ•ˆμœ μ§„", "λ‚˜μ˜μ„");
console.log(newStr2); // μ§€κ΅¬μ˜€λ½μ‹€, μ΄μ˜μ§€, λ‚˜μ˜μ„, λ―Έλ―Έ, 이은지, λ‚˜μ˜μ„

toUpperCase(), toLowerCase() : λŒ€μ†Œλ¬Έμž 일괄 λ³€ν™˜

let alpha = "Better late than never.";
console.log(alpha.toUpperCase()); // BETTER LATE THAN NEVER. 
console.log(alpha.toLowerCase()); // better late than never.

concat() : 2개 이상 λ¬Έμžμ—΄ ν•˜λ‚˜λ‘œ ν•©μΉ¨

  • Reactμ—μ„œ 자주 μ“°μž„..
  • 2개 μ΄μƒμ˜ λ¬Έμžμ—΄μ„ ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ ν•©μΉ˜λŠ” ν•¨μˆ˜
  • κΈ°μ‘΄ λ¬Έμžμ—΄μ„ λ³€κ²½ν•˜μ§€ μ•Šκ³ , 합쳐진 μƒˆλ‘œμš΄ λ¬Έμžμ—΄ 생성 (λΆˆλ³€μ„±)
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
console.log(text3); // Hello World

trim() : λ¬Έμžμ—΄ μ•ž,λ’€ 곡백 제거

let str4 = " Hello World! ";
console.log(str4.trim()); // Hello World!

padStart(), padEnd() : λ¬Έμžμ—΄ μ•ž/뒀에 μ§€μ •λœ 길이만큼 μΆ”κ°€

let str11 = "5";
let str12 = "5";
str11 = str11.padStart(4, 0); // 총 길이, μžλ¦¬κ°€ λΉ„λŠ” 경우 0으둜 μ±„μš°λŠ”. . 
console.log(str11); // 0005
let str13 = str12.padEnd(4, 0); 
console.log(str13); // 5000

charAt(a) : a번 μΈλ±μŠ€μ— μžˆλŠ” 문자 λ°˜ν™˜

let addr = "μ„œμšΈμ‹œ 강남ꡬ 역삼동";
console.log(addr.charAt(0)); // μ„œ

charCodeAt(a) : a번 μΈλ±μŠ€μ— μžˆλŠ” 문자 μœ λ‹ˆμ½”λ“œ λ°˜ν™˜

let str20 = "HELLO WORLD";
console.log(str.charCodeAt(0)); // 72

split(a) : aλ₯Ό κΈ°μ€€μœΌλ‘œ μž˜λΌμ„œ μƒˆλ‘œμš΄ 문자 λ°°μ—΄ 생성

let birthDay = "1999-02-03";
let arr2 = birthDay.split("-");
console.log(arr2); // [ '1999', '02', '03' ]

Number 객체

  • 객체에 μ •μ˜λ˜μ–΄ μžˆλŠ” μˆ«μžμ™€ κ΄€λ ¨λœ μž‘μ—…μ„ ν•  λ•Œ μ‚¬μš©λ˜λŠ” λ©”μ†Œλ“œ

Number.parseFloat() : 숫자λ₯Ό μ‹€μˆ˜λ‘œ λ°˜ν™˜

  • λ¬Έμžμ—΄μ— ν¬ν•¨λœ 숫자 뢀뢄을 μ‹€μˆ˜ ν˜•νƒœλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
  • λ¬Έμžμ—΄μ— μ—¬λŸ¬ 개의 μˆ«μžκ°€ μ‘΄μž¬ν•˜λ©΄, κ·Έ μ€‘μ—μ„œ 첫 번째 μˆ«μžλ§Œμ„ μ‹€μˆ˜ ν˜•νƒœλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
let str = "1234.12 12";
console.log(Number.parseFloat(str)); // 1234.12 (μ•žμ—κΊΌλ§Œ 읽음)

Number.parseInt() : μ •μˆ˜λ‘œ λ°˜ν™˜

let str = "1234.12 12";
console.log(Number.parseInt(str)); // 1234 (μ •μˆ˜λ‘œ λ°˜ν™˜)