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

this

(3)
[JavaScript] thisλž€? / call, apply, bind 차이점 πŸ”— thisλž€? thisλŠ” ν•¨μˆ˜ 호좜 방식에 따라 this에 바인딩할 객체가 λ™μ μœΌλ‘œ κ²°μ •λœλ‹€. (μ˜ˆμ™Έμ μœΌλ‘œ, bind ν•¨μˆ˜λŠ” 호좜과 λ¬΄κ΄€μ—κ²Œ λ¬Άμ–΄μ„œ κ³ μ •μ‹œν‚¬ 수 μžˆλ‹€.) ν˜ΈμΆœν•œ 객체 === this πŸ”— ν•¨μˆ˜ 호좜 방식 1. ν•¨μˆ˜(μΌλ°˜ν•¨μˆ˜, μ „μ—­ν•¨μˆ˜, μ™ΈλΆ€ν•¨μˆ˜, λ‚΄λΆ€ν•¨μˆ˜(일반 λ‚΄λΆ€ν•¨μˆ˜, λ©”μ†Œλ“œμ˜ λ‚΄λΆ€ν•¨μˆ˜, μ½œλ°±ν•¨μˆ˜ λ“±)) 호좜 thisλŠ” 전역객체(window)λ₯Ό 가리킨닀. 2. λ©”μ†Œλ“œ 호좜 thisλŠ” ν•΄λ‹Ή λ©”μ†Œλ“œμ˜ 객체λ₯Ό 가리킨닀. 3. μƒμ„±μž ν•¨μˆ˜ 호좜 thisλŠ” μƒμ„±μžλ‘œ 인해 μƒμ„±λœ μΈμŠ€ν„΄μŠ€λ₯Ό 가리킨닀. 4. call, apply, bind 호좜 thisκ°€ ν•¨μˆ˜ ν˜ΈμΆœμ‹μ— 따라 객체λ₯Ό 가리킨닀면 call, apply, bindλŠ” ν•¨μˆ˜κ°€ 직접 μ‹€ν–‰λ¬Έλ§₯을 κ²°μ •ν•œλ‹€. call은 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄ μ‹€ν–‰ν•œλ‹€. ν•¨μˆ˜..
[JavaScript] μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ(Execution Context)λž€? πŸ”— μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ(Execution Context) λž€? μ‹€ν–‰ μ»¨ν…μŠ€νŠΈλŠ” μ‹€ν–‰ κ°€λŠ₯ν•œ μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° μœ„ν•΄ ν•„μš”ν•œ ν™˜κ²½μ΄λ‹€. πŸ”— μ‹€ν–‰ μ»¨ν…μŠ€νŠΈμ˜ μ’…λ₯˜ πŸ“ μ „μ—­ μ»¨ν…μŠ€νŠΈ (Global Context) μ „μ—­ μ˜μ—­μ— μ‘΄μž¬ν•˜λŠ” μ½”λ“œμ˜ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ 생성이 되면, μŠ€νƒμ— μŒ“μΈλ‹€. μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ’…λ£Œλ  λ•Œ(μ›Ή νŽ˜μ΄μ§€μ—μ„œ λ‚˜κ°€κ±°λ‚˜ λΈŒλΌμš°μ €λ₯Ό 닫을 λ•Œ) μ†Œλ©Έλœλ‹€. windowκ°€ this둜 ν• λ‹Ήλœλ‹€. πŸ“ ν•¨μˆ˜ μ»¨ν…μŠ€νŠΈ (Function Context) ν•¨μˆ˜ 내에 μ‘΄μž¬ν•˜λŠ” μ½”λ“œμ˜ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈ μ„ μ–Έλœ ν•¨μˆ˜κ°€ 호좜이 될 λ•Œ μ‹€ν–‰ μ»¨ν…μŠ€νŠΈκ°€ 생성이 되고, μŠ€νƒμ— μŒ“μΈλ‹€. ν•¨μˆ˜μ˜ λͺ¨λ“  λ™μž‘(μ‹€ν–‰)이 μ™„λ£Œλ˜λ©΄, ν•¨μˆ˜ μ»¨ν…μŠ€νŠΈλŠ” μ†Œλ©Έλœλ‹€. (ν΄λ‘œμ € μ‚¬μš©ν•˜λ©΄ μ†Œλ©ΈX) πŸ”— μ‹€ν–‰ μ»¨ν…μŠ€νŠΈμ˜ 객체 μ‹€ν–‰ μ»¨ν…μŠ€νŠΈλŠ” μ‹€ν–‰ κ°€..
[JavaScript] λ©”μ†Œλ“œ 체이닝(Method Chaining)μ΄λž€? πŸ”— λ©”μ†Œλ“œ 체이닝(Method Chaining)μ΄λž€? μ—¬λŸ¬ λ©”μ†Œλ“œλ₯Ό μ΄μ–΄μ„œ ν˜ΈμΆœν•˜λŠ” 문법이닀. λ©”μ†Œλ“œκ°€ 객체(this)λ₯Ό λ°˜ν™˜ν•˜μ—¬ μ—¬λŸ¬ λ©”μ†Œλ“œλ₯Ό 순차적으둜 μ„ μ–Έν•  수 μžˆλ„λ‘ ν•œλ‹€. πŸ”— μž₯단점 μž₯점 μ½”λ“œκ°€ κ°„κ²°ν•΄μ Έ ν•˜λ‚˜μ˜ λ¬Έμž₯처럼 읽힐 수 μžˆλ‹€. μž₯기적으둜 μœ μ§€λ³΄μˆ˜μ— 도움이 λœλ‹€. 단점 ν•˜λ‚˜μ˜ λΌμΈμ—μ„œ λ„ˆλ¬΄ λ§Žμ€ 일이 μΌμ–΄λ‚˜ 디버깅에 어렀움이 μžˆμ„ 수 μžˆλ‹€. 였λ₯˜κ°€ 났을 λ•Œ μ–΄λŠ λΆ€λΆ„μ˜ λ©”μ†Œλ“œμ—μ„œ 였λ₯˜κ°€ λ‚¬λŠ”μ§€ ν™•μΈν•˜κΈ° μ–΄λ ΅λ‹€. πŸ”Ž μ°Έκ³  자료 λ©”μ†Œλ“œ 체이닝 πŸ’‘ 같이 보면 쒋을 Post [JavaScript] μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” '이벀트 기반', 'λ…ΌλΈ”λ‘œν‚Ή' 방식을 μ‚¬μš©ν•˜κ³  'μ‹±κΈ€ μŠ€λ ˆλ“œ' 언어이닀. μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ‹±κΈ€ μŠ€λ ˆλ“œ 언어이닀. ν•˜μ§€λ§Œ μ‹€μ œ μ‚¬μš©μ‹œμ—λŠ” λ§Žμ€ μž‘μ—…μ΄ λ™μ‹œμ— μ²˜λ¦¬λ˜λŠ” λ©€ν‹° μŠ€λ ˆλ“œμ²˜λŸΌ λ³΄μ΄λŠ”λ°..