πŸ“š Book-Talk

πŸ“š Book-Talk/IT μž‘ν•™μ‚¬μ „

[IT 5λΆ„ μž‘ν•™ 사전] - 23.01.14

TIL (Today I Learned) 2023.01.14 였늘 읽은 λ²”μœ„ μ—ν”Όμ†Œλ“œ 01. κ°œλ°œμžμ— λŒ€ν•œ μ˜€ν•΄ 5가지! μ—ν”Όμ†Œλ“œ 02. μ–΄λ–€ μ–Έμ–΄λΆ€ν„° 곡뢀해야 ν• κΉŒ? μ—ν”Όμ†Œλ“œ 03. μƒˆ μ–Έμ–΄λ₯Ό μ‰½κ²Œ λ°°μš°λŠ” λ…Έν•˜μš°? μ—ν”Όμ†Œλ“œ 04. μ–Έμ–΄ 이름은 μ™œ κ·Έλ ‡κ²Œ μ§€μ—ˆμ„κΉŒ? μ—ν”Όμ†Œλ“œ 05. C, C++, C#은 μ΄λ¦„μ²˜λŸΌ λΉ„μŠ·ν• κΉŒ? μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©μ„ μ¨λ³΄μ„Έμš”. κ°œλ°œμ—μ„œλŠ” 재λŠ₯이 μ•„λ‹ˆλΌ ν¬κΈ°ν•˜μ§€ μ•ŠμŒμ΄ 더 μ€‘μš”ν•˜λ‹€λŠ” 것.(p.19) μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό κ³΅λΆ€ν•˜λ©΄ κ·Έ 언어에 λ‹΄κΈ΄ μ² ν•™, μ½”λ“œ ꡬ쑰, κ°œλ…, νŒ¨ν„΄ 등을 λ°°μš°λŠ”λ°, κ·Έ λ‚΄μš©μ΄ 정말 μ€‘μš”ν•˜λ‹€.(p.26) Cμ–Έμ–΄λŠ” μžμ›μ„ 효율적으둜 μ“°λ©΄μ„œλ„ μ΅œλŒ€ μ„±λŠ₯을 λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆμ–΄μ•Ό ν•œλ‹€.(p.35) C++은 Cλ₯Ό ν¬ν•¨ν•˜λŠ” μ–Έμ–΄λ‘œ, 절차 지ν–₯이면..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive_μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성

17.1 Object μƒμ„±μž ν•¨μˆ˜ new μ—°μ‚°μžμ™€ ν•¨κ»˜ object μƒμ„±μž ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ 빈 객체λ₯Ό μƒμ„±ν•˜μ—¬ λ°˜ν™˜ν•œλ‹€. // 빈 객체의 생성 const person = new Object(); // ν”„λ‘œνΌν‹° μΆ”κ°€ person.name = 'April'; person.sayHello = function () { console.log('Hi! My name is ' + this.name); }; console.log(person); // {name: "April", sayHello: ƒ} person.sayHello(); // Hi! My name is April μƒμ„±μž ν•¨μˆ˜(constructor)λž€? new μ—°μ‚°μžμ™€ ν•¨κ»˜ ν˜ΈμΆœν•˜μ—¬ 객체(μΈμŠ€ν„΄μŠ€)λ₯Ό μƒμ„±ν•˜λŠ” ν•¨μˆ˜.μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•΄ μƒμ„±λœ 객체λ₯Ό μΈμŠ€ν„΄μŠ€..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive_let, const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„

ES5κΉŒμ§€ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  수 μžˆλŠ” μœ μΌν•œ 방법은 var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ΄μ—ˆμ§€λ§Œ, var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν–ˆμ„ λ•Œμ— μ‹¬κ°ν•œ 문제점이 λ°œμƒν•  수 μžˆμ–΄ 이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ ES6λΆ€ν„° letκ³Ό const ν‚€μ›Œλ“œλ₯Ό λ„μž…ν–ˆλ‹€. 15.1 var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ˜ 문제점 15.1.1 λ³€μˆ˜ 쀑볡 μ„ μ–Έ ν—ˆμš© var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” 쀑볡 선언이 κ°€λŠ₯ν•˜λ‹€. μ΄λ ‡κ²Œ 쀑볡 선언이 κ°€λŠ₯ν•˜λ©΄ μ΄ˆκΈ°ν™” λ¬Έ(λ³€μˆ˜ μ„ μ–Έκ³Ό λ™μ‹œμ— μ΄ˆκΈ°κ°’μ„ ν• λ‹Ήν•˜λŠ” λ¬Έ) μœ λ¬΄μ— 따라 λ‹€λ₯΄κ²Œ λ™μž‘ν•œλ‹€. μ΄ˆκΈ°ν™” 문이 μžˆλŠ” λ³€μˆ˜ 선언은 μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ var ν‚€μ›Œλ“œκ°€ μ—†λŠ” κ²ƒμ²˜λŸΌ λ™μž‘ν•˜κ³  μ΄ˆκΈ°ν™” 문이 μ—†λŠ” λ³€μˆ˜ 선언문은 λ¬΄μ‹œλœλ‹€. μ΄λ•Œ μ—λŸ¬λŠ” λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€. κ²Œλ‹€κ°€ λ³€μˆ˜λ₯Ό 쀑볡 μ„ μ–Έν•˜λ©΄μ„œ κ°’κΉŒμ§€ ν• λ‹Ήν–ˆλ‹€λ©΄ μ˜λ„μΉ˜ μ•Šκ²Œ λ¨Όμ € μ„ μ–Έλœ λ³€μˆ˜ κ°’..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive_μ „μ—­ λ³€μˆ˜μ˜ 문제점

μ „μ—­ λ³€μˆ˜μ˜ λ¬΄λΆ„λ³„ν•œ μ‚¬μš©μ€ μœ„ν—˜ν•˜λ―€λ‘œ, μ Όμ—­ λ³€μˆ˜λ₯Ό λ°˜λ“œμ‹œ μ‚¬μš©ν•΄μ•Ό ν•  이유λ₯Ό 찾지 λͺ»ν•œλ‹€λ©΄, 지역 λ³€μˆ˜λ₯Ό μ‚¬μš© ꢌμž₯ 14.1 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° λ³€μˆ˜λŠ” 선언에 μ˜ν•΄ μƒμ„±λ˜κ³ , 할당을 톡해 값을 가지며 μ–Έμ  κ°€ μ†Œλ©Έν•œλ‹€. 즉, λ³€μˆ˜λŠ” 생λͺ… μ£ΌκΈ°(life cycle)κ°€ μžˆλ‹€. λ³€μˆ˜μ— 생λͺ… μ£ΌκΈ°κ°€ μ—†λ‹€λ©΄ ν•œλ²ˆ μ„ μ–Έλœ λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•˜μ§€ μ•ŠλŠ” ν•œ μ˜μ›νžˆ λ©”λͺ¨λ¦¬ 곡간을 μ μœ ν•˜κ²Œ λœλ‹€. 14.1.1 지역 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° λ³€μˆ˜λŠ” μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ—μ„œ μƒμ„±λ˜κ³  μ†Œλ©Έν•œλ‹€. μ „μ—­ λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 생λͺ… 주기와 κ°™μ§€λ§Œ, ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ„ μ–Έλœ 지역 λ³€μˆ˜λŠ” ν•¨μˆ˜κ°€ 호좜되면 μƒμ„±λ˜κ³  ν•¨μˆ˜κ°€ μ’…λ£Œν•˜λ©΄ μ†Œλ©Έν•œλ‹€. 즉, 지역 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°λŠ” ν•¨μˆ˜μ˜ 생λͺ… 주기와 μΌμΉ˜ν•œλ‹€. λ³€μˆ˜λŠ” ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

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

13_μŠ€μ½”ν”„ μŠ€μ½”ν”„(scpoe : μœ νš¨λ²”μœ„) λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ 기본이며 μ€‘μš”ν•˜λ‹€. 특히, μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μŠ€μ½”ν”„λŠ” λ‹€λ₯Έ μ–Έμ–΄μ˜ μŠ€μ½”ν”„μ™€ κ΅¬λ³„λ˜λŠ” νŠΉμ§•μ΄ μžˆλ‹€. 13.1 μŠ€μ½”ν”„λž€? λͺ¨λ“  μ‹λ³„μž(λ³€μˆ˜μ΄λ¦„, ν•¨μˆ˜μ΄λ¦„, 클래슀 이름 λ“±)λŠ” μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ— μ˜ν•΄ λ‹€λ₯Έ μ½”λ“œκ°€ μ‹λ³„μž μžμ‹ μ„ μ°Έμ‘°ν•  수 μžˆλŠ” 유효 λ²”μœ„κ°€ κ²°μ •λœλ‹€. 즉, μ‹λ³„μžκ°€ μœ νš¨ν•œ λ²”μœ„ μ½”λ“œμ˜ λ¬Έλ§₯κ³Ό ν™˜κ²½ : "μ½”λ“œκ°€ μ–΄λ””μ„œ μ‹€ν–‰λ˜λ©° 주변에 μ–΄λ–€ μ½”λ“œκ°€ μžˆλŠ”μ§€" λ₯Ό λ ‰μ‹œμ»¬ ν™˜κ²½ 이라고 λΆ€λ₯Έλ‹€. μ½”λ“œμ˜ λ¬Έλ§₯은 λ ‰μ‹œμ»¬ ν™˜κ²½μœΌλ‘œ 이루어지고, 이λ₯Ό κ΅¬ν˜„ν•œ 것이 μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ 이며, λͺ¨λ“  μ½”λ“œλŠ” μ‹€ν–‰ μ»¨ν…μŠ€νŠΈμ—μ„œ ν‰κ°€λ˜κ³  μ‹€ν–‰λœλ‹€. 13.2 μŠ€μ½”ν”„μ˜ μ’…λ₯˜ μ½”λ“œλŠ” μ „μ—­(global) κ³Ό 지역(local) 둜 ꡬ뢄 ν•  수 있..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive_ν•¨μˆ˜

12_ν•¨μˆ˜ 12.1 ν•¨μˆ˜λž€? ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν•¨μˆ˜λŠ” 일련의 과정을 λ¬Έ(statement)으둜 κ΅¬ν˜„ν•˜κ³  μ½”λ“œ λΈ”λ‘μœΌλ‘œ κ°μ‹Έμ„œ ν•˜λ‚˜μ˜ μ‹€ν–‰ λ‹¨μœ„λ‘œ μ •μ˜ν•œ 것 이닀. 각 μš©μ–΄μ— λŒ€ν•œ κ°„λ‹¨ν•œ μ„€λͺ…은, ν•¨μˆ˜ λ‚΄λΆ€λ‘œ μž…λ ₯을 μ „λ‹¬λ°›λŠ” λ³€μˆ˜λ₯Ό λ§€κ°œλ³€μˆ˜(parameter) μž…λ ₯을 인수(argument) 좜λ ₯을 λ°˜ν™˜κ°’(return value) ν•¨μˆ˜λŠ” μ •μ˜λ§ŒμœΌλ‘œ μ‹€ν–‰λ˜λŠ” 것은 μ•„λ‹ˆλ―€λ‘œ, 싀행을 λͺ…μ‹œμ μœΌλ‘œ μ§€μ‹œν•΄μ•Ό ν•œλ‹€. -> 이λ₯Ό ν•¨μˆ˜ 호좜 이라 ν•œλ‹€. 12.2 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 이유 ν•¨μˆ˜λŠ” λͺ‡ λ²ˆμ΄λ“  ν˜ΈμΆœν•  수 μžˆμœΌλ―€λ‘œ μ½”λ“œμ˜ μž¬μ‚¬μš© μ΄λΌλŠ” μΈ‘λ©΄μ—μ„œ 맀우 μœ μš©ν•˜λ‹€. μ½”λ“œμ˜ 쀑볡을 μ–΅μ œν•˜κ³  μž¬μ‚¬μš©μ„±μ„ λ†’μ΄λŠ” ν•¨μˆ˜λŠ” μœ μ§€λ³΄μˆ˜μ˜ νŽΈμ˜μ„± 을 높이고 μ½”λ“œμ˜ μ‹ λ’°μ„± 을 높인닀. 12.3 ν•¨μˆ˜ λ¦¬ν„°λŸ΄ ν•¨μˆ˜ λ¦¬ν„°λŸ΄μ€, function ..

πŸ“š Book-Talk/λͺ¨λ˜ JS Deep Dive

λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive_μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ

11_μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” 데이터 νƒ€μž…μ€ 크게 μ›μ‹œ νƒ€μž…(premitive type) κ³Ό 객체 νƒ€μž…(obejct/reperence type) 으둜 ꡬ뢄 ν•˜λŠ”λ°, λ‘˜ μ‚¬μ΄λŠ” 차이점이 μ‘΄μž¬ν•œλ‹€. μ›μ‹œ νƒ€μž… 값은 λ³€κ²½ λΆˆκ°€λŠ₯ ν•œ κ°’ 이고, 객체(μ°Έμ‘°) νƒ€μž… 값은 λ³€κ²½ κ°€λŠ₯ν•œ κ°’ 이닀. μ›μ‹œ νƒ€μž… 값을 λ³€μˆ˜μ— ν• λ‹Ήν•˜λ©΄ λ³€μˆ˜(ν™•λ³΄λœ λ©”λͺ¨λ¦¬ 곡간) μ—λŠ” μ‹€μ œ 값이 μ €μž₯ 객체(μ°Έμ‘°) νƒ€μž… 값은 λ³€μˆ˜(ν™•λ³΄λœ λ©”λͺ¨λ¦¬ 곡간)μ—λŠ” μ°Έμ‘° 값이 μ €μž₯ μ›μ‹œ νƒ€μž… 값을 κ°–λŠ” λ³€μˆ˜λ₯Ό λ‹€λ₯Έ λ³€μˆ˜μ— ν• λ‹Ήν•˜λ©΄ μ›λ³Έμ˜ μ›μ‹œ 값이 λ³΅μ‚¬λ˜μ–΄ 전달 객체 νƒ€μž… 값을 κ°–λŠ” λ³€μˆ˜λ₯Ό λ‹€λ₯Έ λ³€μˆ˜μ— ν• λ‹Ήν•˜λ©΄ μ›λ³Έμ˜ μ°Έμ‘° 값이 λ³΅μ‚¬λ˜μ–΄ 전달 11.1 μ›μ‹œ νƒ€μž… κ°’ 11.1.1 λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’ μ›μ‹œ νƒ€μž…μ€λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’μœΌλ‘œ 읽기..

HoHo.dev
'πŸ“š Book-Talk' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘ (2 Page)