λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

JavaScript

(12)
[ Javascript ] μžλ°”μŠ€ν¬λ¦½νŠΈ String 정리. String String은 ν‘œμ€€ 빌트인 객체둜, λ¬Έμžμ—΄(μ›μ‹œ νƒ€μž…)을 λ‹€λ£° λ•Œ μ‚¬μš©λ˜λŠ” ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•œλ‹€. String νŠΉμ§• → String μƒμ„±μž ν•¨μˆ˜μ— 인수λ₯Ό μ „λ‹¬ν•˜μ§€ μ•Šκ³  new μ—°μ‚°μžμ™€ ν•¨κ»˜ ν˜ΈμΆœν•˜λ©΄ [[StringData]] λ‚΄λΆ€ μŠ¬λ‘―μ— 빈 λ¬Έμžμ—΄μ„ ν• λ‹Ήν•œ String 래퍼 객체λ₯Ό μƒμ„±ν•œλ‹€. → String 래퍼 κ°μ²΄λŠ” λ°°μ—΄μ²˜λŸΌ lengthν”„λ‘œνΌν‹°μ™€ index(인덱슀λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 숫자둜 된 λ¬Έμžμ—΄μ˜ ν”„λ‘œνΌν‹° ν‚€)λ₯Ό κ°–κ³ , 각각의 문자λ₯Ό ν”„λ‘œνΌν‹° κ°’μœΌλ‘œ κ°–λŠ” μœ μ‚¬ λ°°μ—΄ 객체 μ΄λ©΄μ„œ, μ΄ν„°λŸ¬λΈ” 이기 λ•Œλ¬Έμ— λ°°μ—΄κ³Ό μœ μ‚¬ν•˜κ²Œ indexλ₯Ό μ‚¬μš©ν•˜μ—¬ 각 λ¬Έμžμ— 접근이 κ°€λŠ₯ν•˜λ‹€. → λ¬Έμžμ—΄μ— index둜 μ ‘κ·Όν•˜μ—¬ ν”„λ‘œνΌν‹° 값을 변경해도 μ—λŸ¬λŠ” λ°œμƒν•˜μ§€ μ•Šμ§€λ§Œ, λ¬Έμžμ—΄μ€ μ›μ‹œ 값이기 λ•Œλ¬Έμ— 값이 λ³€..
[ JavaScript / μ—°μ‚°μž ] μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜μ—¬ null λ˜λŠ” undefined 처리 방법. μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ°μ΄ν„°μ˜ 값이 μœ νš¨ν•œμ§€ 여뢀에 따라 ν”„λ‘œνΌν‹°λ₯Ό μ°Έμ‘° ν•  경우 μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ μ²˜λ¦¬ν•˜λŠ” 방법에 λŒ€ν•΄ μ •λ¦¬ν•˜λŠ” κΈ€-! πŸ‘‰ μš°μ„  falsy값에 λŒ€ν•΄ μ•Œμ•„λ³΄μž-! μ•„λž˜μ™€ 같은 아이듀이 falsyκ°’μœΌλ‘œ λΆ„λ₯˜λœλ‹€. - false; - null; - NaN; - 0; - empty string ("" or '' or ``); - undefined. 1. 데이터가 null λ˜λŠ” undefined 만 해당될 λ•Œ null 병합 μ—°μ‚°μž(??) μ‚¬μš© let data = { name: null, age: 20 }; const userName = data.name ?? '이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”.'; console.log(userName); // 이름을 μž…λ ₯ν•΄ μ£Όμ„Έμš”. E11μ—μ„œ λ„μž…λœ null 병합 μ—°μ‚°μž(??)..
[ JavaScript / μ •κ·œν‘œν˜„μ‹ ] μžλ°”μŠ€ν¬λ¦½νŠΈ μ •κ·œν‘œν˜„μ‹ 정리 <1> 좜처: MDN Web Docs μ •κ·œν‘œν˜„μ‹ (μ •κ·œμ‹) - Regular expression μ •κ·œ ν‘œν˜„μ‹μ€ λ¬Έμžμ—΄μ— λ‚˜νƒ€λ‚˜λŠ” νŠΉμ • 문자 μ‘°ν•©κ³Ό λŒ€μ‘μ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” νŒ¨ν„΄μœΌλ‘œ, μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ •κ·œ ν‘œν˜„μ‹ λ˜ν•œ 객체이닀. 이 νŒ¨ν„΄λ“€μ€ RegExp의 exec, test λ©”μ†Œλ“œμ™€ String의 match, replace, search, split λ©”μ†Œλ“œμ™€ ν•¨κ»˜ 쓰인닀. μ •κ·œ ν‘œν˜„μ‹μ„ λ§Œλ“œλŠ” 방법 1. μ •κ·œμ‹ λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜λŠ” 방법 ( μ •κ·œμ‹μ΄ κ°’(=νŒ¨ν„΄)이 λ³€ν•˜μ§€ μ•ŠλŠ” μƒμˆ˜μΌ λ•Œ μ‚¬μš©ν•˜λŠ” 것을 μΆ”μ²œ ) μŠ¬λž˜μ‹œ( / )둜 κ°μ‹ΈλŠ” νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ λ§Œλ“œλŠ” 방법이닀. μ •κ·œμ‹ λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜κ²Œ 되면 μŠ€ν¬λ¦½νŠΈκ°€ λΆˆλŸ¬μ™€μ§ˆ λ•Œ 컴파일 λœλ‹€. var re = /ab+c/; 2. RegExp 객체의 μƒμ„±μž ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” 방법..
[ JavaScript / κ°•μ œλ³€ν™˜ ] 동등비ꡐ '=='와 '===' 의 μ •ν™•ν•œ 차이에 λŒ€ν•˜μ—¬ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 동등 μ—°μ‚°μžλŠ” == μ—°μ‚°μž (loose equlas) === μ—°μ‚°μž (strict equlas) μ΄λ ‡κ²Œ 2가지가 각각 쓰인닀. 두 μ—°μ‚°μž λͺ¨λ‘ κ°’μ˜ 동등함을 λΉ„κ΅ν•˜μ§€λ§Œ, loose(λŠμŠ¨ν•œ)와 strict(μ—„κ²©ν•œ)μ΄λΌλŠ” 차이가 μžˆλ‹€. 이 'λŠμŠ¨ν•œ' 비ꡐ와 'μ—„κ²©ν•œ' λΉ„κ΅μ˜ μ •ν™•ν•œ μ°¨μ΄λŠ” λ¬΄μ—‡μΌκΉŒ? You Don't Know JSλ₯Ό 읽기 μ „κΉŒμ§€μ˜ λ‚˜λŠ” '== μ—°μ‚°μž'λŠ” 값이 λ™λ“±ν•œ 지λ₯Ό λΉ„κ΅ν•˜κ³ , '=== μ—°μ‚°μž'λŠ” κ°’κ³Ό νƒ€μž… λ˜ν•œ λ™λ“±ν•œ 지 λΉ„κ΅ν•œλ‹€κ³  μƒκ°ν–ˆμ—ˆλ‹€. ν•˜μ§€λ§Œ 이 μ±…μ—μ„œλŠ” μœ„μ™€ 같은 생각을 λΉ„μŠ·ν•˜μ§€λ§Œ μ •ν™•ν•˜μ§€ μ•Šλ‹€κ³  κΌ¬μ§‘λŠ”λ‹€. μˆ˜λ§Žμ€ μžλ°”μŠ€ν¬λ¦½νŠΈ μ±…μ—μ„œλ„ μ΄λ ‡κ²Œ μ“°μ—¬μžˆμ§€λ§Œ λΆˆν–‰ν•˜κ²Œλ„ λ‹€ ν‹€λ Έλ‹€κ³  μ΄μ•ΌκΈ°ν•œλ‹€. 이 μ±…μ—μ„œ λ‚˜μ˜€λŠ” '==μ—°μ‚°μž'와 '===μ—°μ‚°μž'의 μ •ν™•ν•œ μ •μ˜λŠ” ==λŠ”..