ALL (119) μΈλ€μΌν 리μ€νΈν [JavaScript] νΈμ΄μ€ν (Hoisting) μ΄λ? π νΈμ΄μ€ν (Hoisting)μ΄λ? λ³μ λλ ν¨μ μ μΈ λΆλΆμ΄ μ΅μλ¨μΌλ‘ λμ΄ μ¬λ €μ§λ νμμ μλ―Ένλ€. λ³μκ° μμΌλ©΄ μμΉμ μκ΄μμ΄ μ΅μλ¨μμ undefinedλ ννλ‘ μ‘΄μ¬νλ€. β μ£Όμ var λ³μ μ μΈκ³Ό ν¨μ μ μΈλ¬Έμμλ§ νΈμ΄μ€ν μ΄ μΌμ΄λλ€. (let/const λ³μ μ μΈ, ν¨μ ννμμμλ λ°μνμ§ μλλ€.) 12345console.log(a); // undefined μΆλ ₯console.log(b); // error var a = 'hello';const b = 'hello2';cs 12345678910func1(); // hello μΆλ ₯func2(); // error function func1() { // ν¨μμ μΈλ¬Έ console.log("hello");} var func2 = functi.. [JavaScript] μ€ν 컨ν μ€νΈ(Execution Context)λ? π μ€ν 컨ν μ€νΈ(Execution Context) λ? μ€ν 컨ν μ€νΈλ μ€ν κ°λ₯ν μ½λκ° μ€νλκΈ° μν΄ νμν νκ²½μ΄λ€. π μ€ν 컨ν μ€νΈμ μ’ λ₯ π μ μ 컨ν μ€νΈ (Global Context) μ μ μμμ μ‘΄μ¬νλ μ½λμ μ€ν 컨ν μ€νΈ μ€ν 컨ν μ€νΈκ° μμ±μ΄ λλ©΄, μ€νμ μμΈλ€. μ΄ν리μΌμ΄μ μ΄ μ’ λ£λ λ(μΉ νμ΄μ§μμ λκ°κ±°λ λΈλΌμ°μ λ₯Ό λ«μ λ) μλ©Έλλ€. windowκ° thisλ‘ ν λΉλλ€. π ν¨μ 컨ν μ€νΈ (Function Context) ν¨μ λ΄μ μ‘΄μ¬νλ μ½λμ μ€ν 컨ν μ€νΈ μ μΈλ ν¨μκ° νΈμΆμ΄ λ λ μ€ν 컨ν μ€νΈκ° μμ±μ΄ λκ³ , μ€νμ μμΈλ€. ν¨μμ λͺ¨λ λμ(μ€ν)μ΄ μλ£λλ©΄, ν¨μ 컨ν μ€νΈλ μλ©Έλλ€. (ν΄λ‘μ μ¬μ©νλ©΄ μλ©ΈX) π μ€ν 컨ν μ€νΈμ κ°μ²΄ μ€ν 컨ν μ€νΈλ μ€ν κ°.. [JavaScript / ES6] ES6 λ¬Έλ² μ 리 π const, let π var VS const, let varμ ν¨μ μ€μ½νμ΄λ€. const, letμ λΈλ‘ μ€μ½νμ΄λ€. λ°λΌμ {λΈλ‘} λ°μμ λ³μμ μ κ·Όν μ μλ€. π const VS let letμ λ³μμ μ¬ν λΉμ΄ κ°λ₯νλ€. λ°λΌμ λ€λ₯Έ κ°μ λμ ν΄μΌ νλ μν©μ΄ μκ²Όμ λ μ¬μ©νλ€. constλ λ³μμ ν λ² λμ νλ©΄ λ€λ₯Έ κ°μ λμ ν μ μλ€. λ³΄ν΅ κΈ°λ³Έμ μΌλ‘ μ¬μ©νλ€. π ν νλ¦Ώ λ¬Έμμ΄ 1 2 3 4 5 6 7 const num1 = 1; const num2 = 2; const result = 3; const string1 = num1 + '+' + num2 + '=' + result; // κΈ°μ‘΄ λ°©μ const string2 = `${num1}+${num2}=${result}` // E.. [JavaScript / λΉλκΈ° μ²λ¦¬] AJAX / Callback, Promise, async, await π λκΈ°(Synchronous) νλ‘κ·Έλλ° vs λΉλκΈ°(Asynchronous) νλ‘κ·Έλλ° λκΈ° νλ‘κ·Έλλ°μ μ½λκ° λ°λμ μμ±λ μμλλ‘ μ€νλλ λ°©μμ΄λ€. λΉλκΈ° νλ‘κ·Έλλ°μ μ½λμ μ²λ¦¬κ° μλ£λ λκΉμ§ κΈ°λ€λ¦¬μ§ μκ³ λ€λ₯Έ μ½λλ₯Ό μ²λ¦¬νλ λ°©μμ΄λ€. π λΉλκΈ° μ²λ¦¬ μ¬λ‘ > AJAX μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©ν λΉλκΈ° ν΅μ μ΄λ©°, ν΄λΌμ΄μΈνΈμ μλ²κ°μ XML λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κΈ°μ μ΄λ€. XMLHttpRequest κ°μ²΄λ₯Ό μ΄μ©ν΄μ μ 체 νμ΄μ§λ₯Ό 리λ‘λνμ§ μκ³ νμν λ°μ΄ν°λ§ λ‘λν μ μλ€λ μ₯μ μ΄ μλ€. π λΉλκΈ° μ²λ¦¬ λ°©λ² β > μ½λ°±(Callback) ν¨μ ν¨μ μ€ν κ²°κ³Όκ°μ 리ν΄μ΄ μλ 맀κ°λ³μλ‘ λμ΄μ¨ ν¨μλ₯Ό νΈμΆνμ¬ λ겨주λ λ°©μμ΄λ€. π μ½λ°± ν¨μ μ¬μ©νλ μ΄μ νΉμ λ‘μ§μ΄ λλ¬μ λ μνλ λμ.. [JavaScript] μλ°μ€ν¬λ¦½νΈλ 'μ΄λ²€νΈ κΈ°λ°', 'λ ΌλΈλ‘νΉ' λ°©μμ μ¬μ©νκ³ 'μ±κΈ μ€λ λ' μΈμ΄μ΄λ€. μλ°μ€ν¬λ¦½νΈλ μ±κΈ μ€λ λ μΈμ΄μ΄λ€. νμ§λ§ μ€μ μ¬μ©μμλ λ§μ μμ μ΄ λμμ μ²λ¦¬λλ λ©ν° μ€λ λμ²λΌ 보μ΄λλ° μ κ·Έλ° κ²μΌκΉ? μλ°μ€ν¬λ¦½νΈλ μ΄λ»κ² 'λμμ±(Concurrency)'μ μ§μνλ κ²μΌκΉ? λ°λ‘ μ¬κΈ°μ λ±μ₯νλ κ°λ μ΄ μ΄λ²€νΈ 루νμ΄λ€. π μ΄λ²€νΈ κΈ°λ°(event-driven)μ΄λ? μ΄λ²€νΈ κΈ°λ°μ΄λ μ΄λ²€νΈκ° λ°μν λ 미리 μ§μ ν΄λ μμ μ μννλ λ°©μμ μλ―Ένλ€. βͺ μ΄λ²€νΈ 루ν μ΄λ²€νΈ λ°μ μ νΈμΆν μ½λ°± ν¨μλ€μ κ΄λ¦¬νκ³ , νΈμΆλ μ½λ°± ν¨μμ μ€ν μμλ₯Ό κ²°μ νλ€. λͺ¨λ μ΄λ²€νΈκ° μ’ λ£λ λ κΉμ§ μ΄λ²€νΈ μ²λ¦¬λ₯Ό μν μμ μ λ°λ³΅νλ―λ‘ λ£¨νλΌκ³ λΆλ¦°λ€. μ½ μ€νμμ μ€ν μ€μΈ κ²μ΄ μλμ§ νμΈνκ³ , μ½λ°± νμ μμ μ΄ μλμ§ νμΈν΄μ μ½ μ€νμ΄ λΉμλ€λ©΄ μ½λ°± ν λ΄μ μμ μ μ½ μ€νμΌλ‘ .. [JavaScript] κ°λΉμ§μ»¬λ ν°(Garbage Collector)λ? / μν , λμ μ리 π κ°λΉμ§μ»¬λ ν°(Garbage Collector)λ? μ¬κΈ°μ κ°λΉμ§λ 'μ 리λμ§ μμ λ©λͺ¨λ¦¬', 'μ ν¨νμ§ μμ λ©λͺ¨λ¦¬ μ£Όμ'λ₯Ό λ§νλ€. κ°λΉμ§ 컬λ ν°λ μ΄λ¬ν νμμλ μ 보λ€, κ°λΉμ§λ€μ μΈμ΄ λ΄μ λ²λ¦ΌμΌλ‘μ¨ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬ν΄μ€λ€. π κ°λΉμ§μ»¬λ ν° λμ μ리 μλ°μ€ν¬λ¦½νΈμμ λ³μλ μ§μ μ μΌλ‘ μ°Έμ‘° κ°(λ¬Έμμ΄, κ°μ²΄, λ°°μ΄)μ λ΄κ³ μμ§ μκ³ , ν΄λΉ κ°μ λ©λͺ¨λ¦¬ μμ μ μ₯λλ€. κ·Έλμ μ°Έμ‘° κ°μ μμ±νκ³ λμ λμ΄μ μ°Έμ‘°ν κ²μ΄ μκ±°λ λΉμ΄μ‘μ λ κ°λΉμ§ 컬λ ν°κ° λμνμ¬ λ©λͺ¨λ¦¬κ° λ°νλλ€. (λ©λͺ¨λ¦¬λ₯Ό λ€μ μ¬μ¬μ© ν μ μλ μνκ° λλ€.) π μ°Έκ³ μλ£ κ°λΉμ§ 컬λ ν°κ° λνλ 건κ°μ? νλ‘ νΈμλ κ°λ°μ λ©΄μ μ§λ¬Έ μ 리 π‘ κ°μ΄ 보면 μ’μ Post [JavaScript] μλ°μ€ν¬λ¦½νΈλ 'μ΄λ²€νΈ κΈ°λ°', .. [JavaScript] λ©λͺ¨λΌμ΄μ μ΄μ (Memoization)μ΄λ? π λ©λͺ¨λΌμ΄μ μ΄μ (Memoization)μ΄λ? μ»΄ν¨ν° νλ‘κ·Έλ¨μ΄ λμΌν κ³μ°μ λ°λ³΅ν΄μΌ ν λ, μ΄μ μ κ³μ°ν κ°μ λ©λͺ¨λ¦¬μ μ μ₯νμ¬ κ·Έκ²μ νμ©ν¨μΌλ‘μ¨ λ°λ³΅ μνμ μ κ±°νλ€. νλ‘κ·Έλ¨ μ€ν μλκ° λΉ¨λΌμ§λ€. π μ°Έκ³ μλ£ μλ°μ€ν¬λ¦½νΈ λ©λͺ¨λΌμ΄μ μ΄μ μμ 보기 π‘ κ°μ΄ 보면 μ’μ Post [JavaScript] μλ°μ€ν¬λ¦½νΈλ 'μ΄λ²€νΈ κΈ°λ°', 'λ ΌλΈλ‘νΉ' λ°©μμ μ¬μ©νκ³ 'μ±κΈ μ€λ λ' μΈμ΄μ΄λ€. μλ°μ€ν¬λ¦½νΈλ μ±κΈ μ€λ λ μΈμ΄μ΄λ€. νμ§λ§ μ€μ μ¬μ©μμλ λ§μ μμ μ΄ λμμ μ²λ¦¬λλ λ©ν° μ€λ λμ²λΌ 보μ΄λλ° μ κ·Έλ° κ²μΌκΉ? μλ°μ€ν¬λ¦½νΈλ μ΄λ»κ² 'λμμ±(Concurrency)'μ μ§μν devjindev.tistory.com [JavaScript] λ©μλ 체μ΄λ(Method Chaining)μ΄λ? π λ©μλ 체μ΄λ(Method Chaining)μ΄λ? μ¬λ¬ λ©μλλ₯Ό μ΄μ΄μ νΈμΆνλ λ¬Έλ²μ΄λ€. λ©μλκ° κ°μ²΄(this)λ₯Ό λ°ννμ¬ μ¬λ¬ λ©μλλ₯Ό μμ°¨μ μΌλ‘ μ μΈν μ μλλ‘ νλ€. π μ₯λ¨μ μ₯μ μ½λκ° κ°κ²°ν΄μ Έ νλμ λ¬Έμ₯μ²λΌ μ½ν μ μλ€. μ₯κΈ°μ μΌλ‘ μ μ§λ³΄μμ λμμ΄ λλ€. λ¨μ νλμ λΌμΈμμ λ무 λ§μ μΌμ΄ μΌμ΄λ λλ²κΉ μ μ΄λ €μμ΄ μμ μ μλ€. μ€λ₯κ° λ¬μ λ μ΄λ λΆλΆμ λ©μλμμ μ€λ₯κ° λ¬λμ§ νμΈνκΈ° μ΄λ ΅λ€. π μ°Έκ³ μλ£ λ©μλ 체μ΄λ π‘ κ°μ΄ 보면 μ’μ Post [JavaScript] μλ°μ€ν¬λ¦½νΈλ 'μ΄λ²€νΈ κΈ°λ°', 'λ ΌλΈλ‘νΉ' λ°©μμ μ¬μ©νκ³ 'μ±κΈ μ€λ λ' μΈμ΄μ΄λ€. μλ°μ€ν¬λ¦½νΈλ μ±κΈ μ€λ λ μΈμ΄μ΄λ€. νμ§λ§ μ€μ μ¬μ©μμλ λ§μ μμ μ΄ λμμ μ²λ¦¬λλ λ©ν° μ€λ λμ²λΌ 보μ΄λλ°.. μ΄μ 1 Β·Β·Β· 7 8 9 10 11 12 13 Β·Β·Β· 15 λ€μ