λ°˜μ‘ν˜•

λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ 4

[λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive] 12μž₯ ν•¨μˆ˜

12.1 ν•¨μˆ˜λž€? ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν•¨μˆ˜λŠ” 일련의 과정을 λ¬Έ(statement)으둜 κ΅¬ν˜„ν•˜κ³  μ½”λ“œ λΈ”λ‘μœΌλ‘œ κ°μ‹Έμ„œ ν•˜λ‚˜μ˜ μ‹€ν–‰ λ‹¨μœ„λ‘œ μ •μ˜ν•œ κ²ƒμž…λ‹ˆλ‹€. ν•¨μˆ˜ λ‚΄λΆ€λ‘œ μž…λ ₯을 μ „λ‹¬λ°›λŠ” λ³€μˆ˜λ₯Ό (parameter), μž…λ ₯을 (argument), 좜λ ₯을 λ°˜ν™˜κ°’return value)라고 ν•©λ‹ˆλ‹€. 12.2 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 μ½”λ“œμ˜ μž¬μ‚¬μš© μΈ‘λ©΄, μœ μ§€λ³΄μˆ˜μ™€ νŽΈμ˜μ„±μ„ 높이고 μ½”λ“œμ˜ 신뒰성을 λ†’μ΄λŠ” νš¨κ³Όκ°€ μžˆμŠ΅λ‹ˆλ‹€. 12.3 ν•¨μˆ˜ λ¦¬ν„°λŸ΄ λ¦¬ν„°λŸ΄μ€ μ‚¬λžŒμ΄ 이해할 수 μžˆλŠ” 문자 λ˜λŠ” μ•½μ†λœ 기호둜 μ‚¬μš©ν•΄ 값을 μƒμ„±ν•˜λŠ” ν‘œκΈ° 방식을 λ§ν•©λ‹ˆλ‹€. 즉 λ¦¬ν„°λŸ΄μ€ 값을 μƒμ„±ν•˜κΈ° μœ„ν•œ ν‘œκΈ°λ²•μž…λ‹ˆλ‹€. λ”°λΌμ„œ ν•¨μˆ˜ λ¦¬ν„°λŸ΄λ„ ν‰κ°€λ˜μ–΄ 값을 μƒμ„±ν•˜λ©°, 이 값은 κ°μ²΄μž…λ‹ˆλ‹€. 즉 ν•¨μˆ˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€. 12.4 ν•¨μˆ˜ μ •μ˜ 1. ν•¨μˆ˜ μ„ μ–Έλ¬Έ fu..

[λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive] 11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ, 얇은 볡사 κΉŠμ€ 볡사

μžλΉ„μŠ€ν¬λ¦½νŠΈκ°€ μ œκ³΅ν•˜λŠ” 7가지 데이터 νƒ€μž… (숫자, λ¬Έμžμ—΄, λΆˆλ¦¬μ–Έ, Null, undfined, μ‹¬λ²Œ, 객체 νƒ€μž…)은 크게 μ›μ‹œ νƒ€μž…κ³Ό κ°μ²΄νƒ€μž…μœΌλ‘œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€. - μ›μ‹œ νƒ€μž…μ˜ 값은 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’μž…λ‹ˆλ‹€. 객체 νƒ€μž…μ˜ 값은 λ³€κ²½ κ°€λŠ₯ν•œ κ°’μž…λ‹ˆλ‹€. - μ›μ‹œ 값을 λ³€μˆ˜ ν• λ‹Ή μ‹œ λ³€μˆ˜(ν™•λ³΄λœ λ©”λͺ¨λ¦¬ 곡간)μ—λŠ” μ‹€μ œ 값이 μ €μž₯λ©λ‹ˆλ‹€. 객체 λ³€μˆ˜ ν• λ‹Ή μ‹œ λ³€μˆ˜(ν™•λ³΄λœ λ©”λͺ¨λ¦¬ 곡간)μ—λŠ” μ°Έμ‘° 값이 μ €μž₯λ©λ‹ˆλ‹€. - μ›μ‹œ κ°’ λ³€μˆ˜λ₯Ό λ‹€λ₯Έ λ³€μˆ˜μ— ν• λ‹Ή μ‹œ 값에 μ˜ν•œ 전달 (pass by value)라고 ν•˜κ³ , 객체λ₯Ό κ°€λ¦¬ν‚€λŠ” λ³€μˆ˜λ₯Ό λ‹€λ₯Έ λ³€μˆ˜μ— ν• λ‹Ήν•˜λ©΄ 참쑰에 μ˜ν•œ 전달 (pass by reference)라고 ν•©λ‹ˆλ‹€. 11.1 μ›μ‹œ κ°’ 11.1.1 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’ const o = {}; // const ..

[λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive] 10μž₯ 객체 λ¦¬ν„°λŸ΄

* 07μž₯ μ—°μ‚°μž, 08μž₯ 쑰건문, 09μž₯ 일뢀 뢀뢄은 νŒ¨μŠ€ν•©λ‹ˆλ‹€. * 9.1 νƒ€μž… λ³€ν™˜μ΄λž€? κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ κ°’μ˜ νƒ€μž…μ„ λ³€ν™˜ν•˜λŠ” 것을 λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜ λ˜λŠ” νƒ€μž… μΊμŠ€νŒ…μ΄λΌ ν•©λ‹ˆλ‹€. κ°œλ°œμžμ™€ μ˜λ„μ™€ 상관없이 JS엔진에 μ˜ν•΄ μ•”λ¬΅μ μœΌλ‘œ νƒ€μž…μ΄ λ³€ν™˜λ˜κΈ°λ„ ν•©λ‹ˆλ‹€. 이λ₯Ό 암묡적 νƒ€μž… λ³€ν™” λ˜λŠ” νƒ€μž… κ°•μ œ λ³€ν™˜μ΄λΌ ν•©λ‹ˆλ‹€. 9.2 암묡적 νƒ€μž… λ³€ν™˜ JS엔진은 ν‘œν˜„μ‹μ„ 평가할 λ•Œ μ½”λ“œμ˜ λ¬Έλ§₯을 κ³ λ €ν•΄ μ•”λ¬΅μ μœΌλ‘œ 데이터 νƒ€μž…μ„ κ°•μ œ λ³€ν™˜ ν•  λ•Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. '10' + 2 // '102' 7 * '10' // 70 9.4 단좕 평가 9.4.4 μ˜΅μ…”λ„ 체이닝 μ—°μ‚°μž ES11에 λ„μž…λœ μ˜΅μ…”λ„ 체이닝 μ—°μ‚°μž ?. λŠ” μ’Œν•­μ˜ ν”Όμ—°μ‚°μžκ°€ null λ˜λŠ” undefined인 경우 undefinedλ₯Ό λ°˜ν™˜ν•˜κ³ , μ•„λ‹ˆλΌλ©΄ ..

[λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive] 02μž₯ μžλ°”μŠ€ν¬λ¦½νŠΈλž€?

이 글은 λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 2.1 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 탄생 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 1996λ…„ 3μ›” λ„·μŠ€μΌ€μ΄ν”„ μ›Ή λΈŒλΌμš°μ €μ— νƒ‘μž¬λ˜μ—ˆκ³ , 이름이 λ°”λ€Œμ–΄ μ΅œμ’…μ μœΌλ‘œ μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 2.2 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν‘œμ€€ν™” 경쟁으둜 인해 λΈŒλΌμš°μ €μ— 따라 μ›Ή νŽ˜μ΄μ§€κ°€ μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜μ§€ μ•ŠλŠ” 크둜슀 λΈŒλΌμš°μ§• μ΄μŠˆκ°€ λ°œμƒν•˜κΈ° μ‹œμž‘ν•˜λ©΄μ„œ, μ›ΉνŒ¨μ΄μ§€λ₯Ό κ°œλ°œν•˜κΈ° 맀우 μ–΄λ €μ›Œμ‘ŒμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ ν‘œμ€€ν™”λœ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν•„μš”μ„±μ΄ λŒ€λ‘λ˜κ³  ν‘œμ€€ν™”λœ μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ„ νƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 2.3 μžλ°”μŠ€ν¬λ¦½νŠΈ μƒμ§•μ˜ 역사 λ Œλ”λ§μ΄λž€? HTML, CSS, JS둜 μž‘μ„±λœ λ¬Έμ„œλ₯Ό ν•΄μ„ν•΄μ„œ λΈŒλΌμš°μ €μ— μ‹œκ°μ μœΌλ‘œ 좜λ ₯ν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€. μ„œλ²„μ—μ„œ 데이터λ₯Ό HTML둜 λ³€ν™˜ν•΄μ„œ λΈŒλΌμš°μ €μ—κ²Œ μ „λ‹¬ν•˜λŠ” κ³Όμ • (SSR: Ser..

λ°˜μ‘ν˜•