๋ฐ˜์‘ํ˜•

๋‹ค๊ตญ์–ด๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜์„ ๋•Œ


๐Ÿ’ก charAt์€ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , charCodeAt์€ ์œ ๋‹ˆ์ฝ”๋“œ(0~65535) ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค

function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

capitalizeFirstLetter('hello world') // Hello world

 

๋‹ค๊ตญ์–ด๋ฅผ ๊ณ ๋ คํ–ˆ์„ ๋•Œ


๐Ÿ’ก ๋กœ๋งˆ์ž(๋ผํ‹ด ๋ฌธ์ž)์—์„  ์ ์ด ์žˆ๋Š” ์†Œ๋ฌธ์ž i์™€ ์ ์ด ์—†๋Š” ๋Œ€๋ฌธ์ž I๊ฐ€ ์ง์„ ์ด๋ฃฌ๋‹ค. ๋ฐ˜๋ฉด ํ„ฐํ‚ค์–ด, ์•„์ œ๋ฅด๋ฐ”์ด์ž”์–ด์—์„  ์  ์—†๋Š” ๋ฌธ์žฤฑ, I์™€, ์  ์žˆ๋Š” ๋ฌธ์ž i, ฤฐ๊ฐ€ ์ง์„ ์ด๋ฃฌ๋‹ค. Istanbul์„ ํ„ฐํ‚ค์–ด ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ ์œผ๋ฉด ฤฐstanbul์ด ๋˜๋Š”๋ฐ ์ฒซ ๊ธ€์ž๊ฐ€ ๋ฐ”๋กœ ์  ์žˆ๋Š” ๋Œ€๋ฌธ์ž๋‹ค. (์ฐธ๊ณ ๊ธ€)

function capitalizeFirstLetter([first, ...rest], locale = navigator.language) {
  return [first.toLocaleUpperCase(locale), ...rest].join('');
}

capitalizeFirstLetter('istanbul', 'en'); // 'Istanbul'
capitalizeFirstLetter('istanbul', 'tr'); // 'ฤฐstanbul' (tr์€ ํ„ฐํ‚ค์–ด์˜ Locale ๊ฐ’)

 

  • ๋ฌธ์ž์—ด์€ Symbol.iterator๊ฐ€ ๊ตฌํ˜„๋œ ์ดํ„ฐ๋Ÿฌ๋ธ”์ด๋ฏ€๋กœ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น๊ณผ ์ „๊ฐœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
    • ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์€ ๋ชจ๋“  ์ดํ„ฐ๋Ÿฌ๋ธ”(๋ฐฐ์—ด, ๋ฌธ์ž์—ด, Set, Map, …)์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
    • ์ „๊ฐœ ์—ฐ์‚ฐ์ž ๋Œ€์ƒ์€ ์ดํ„ฐ๋Ÿฌ๋ธ”์ด์–ด์•ผ ํ•œ๋‹ค
  • navigator.language : ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € UI ์–ธ์–ด์˜ Locale ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค ex) ko-KR
  • str.toLocaleUpperCase(locale) : ์ธ์ž๋กœ ๋ฐ›์€ Locale์— ๋”ฐ๋ผ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค

 


๊ธ€ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋…ธ์…˜ ํŽ˜์ด์ง€์— ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”
๋ฐ˜์‘ํ˜•