π Front-End/JavaScript
μλ°μ€ν¬λ¦½νΈμμ μ 곡νλ λΉλκΈ°λ₯Ό κ°νΈνκ² μ²λ¦¬ ν μ μλλ‘ λμμ£Όλ κ°μ²΄ μ ν΄μ§ μ₯μκ°μ κΈ°λ₯μ μννκ³ λμ μ μμ μΌλ‘ κΈ°λ₯μ΄ μνμ΄ λμ΄μ§λ©΄ μ±κ³΅μ λ©μΈμ§μ ν¨κ» μ²λ¦¬λ κ²°κ³Ό κ°μ μ λ¬ ν©λλ€. λ§μ½, κΈ°λ₯μ μννλ€κ° μμμΉ λͺ»ν λ¬Έμ κ° λ°μνλ©΄ error λ₯Ό μ λ¬ ν©λλ€. μ¬μ©νλ μ΄μ λ€νΈμν¬μμ λ°μ΄ν°λ₯Ό λ°μμ€κ±°λ ν° λ°μ΄ν°λ₯Ό μ½μ΄μ€λ κ³Όμ μ μκ°μ΄ 걸리λλ° λκΈ°μ μΌλ‘ μ²λ¦¬νλ©΄ μμ μΌλ€μ μ²λ¦¬νλ λμ λ€μ λΌμΈμ μ½λκ° μ€νλμ§ μκΈ° λλ¬Έμ μκ°μ΄ 걸리λ μΌ λ€μ promise λ₯Ό ν΅ν΄ λΉλκΈ°μ μΌλ‘ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€. promise μ μν promiseλ stateμ result 2κ°μ§ μ¨κΉ νλ‘νΌν°λ₯Ό κ°κ³ μμ΅λλ€. resultλ resolve(value)κ° νΈμΆλλ©΄ value..
π Front-End/JavaScript
Asynchronous Javascript And Xml(λΉλκΈ°μ μλ°μ€ν¬λ¦½νΈμ xml)μ μ½μ AJAX λ μλ°μ€ν¬λ¦½νΈλ₯Ό ν΅ν΄μ μλ²μ λΈλΌμ°μ κ° λΉλκΈ° λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό κ΅νν μ μλ ν΅μ κΈ°λ₯ μ
λλ€. Ajax λ₯Ό μ¬μ©νλ©΄ μΉ μ ν리μΌμ΄μ
μ κΈ°μ‘΄ νμ΄μ§μ νλ©΄ λ° λμμ λ°©ν΄νμ§ μμΌλ©΄μ λ°±κ·ΈλΌμ΄λμμ λΉλκΈ°μ μΌλ‘ μλ²λ‘ λ°μ΄ν°λ₯Ό 보λ΄κ³ μλ²μμ λ°μ΄ν°λ₯Ό λ°μμ¬ μ μμ΅λλ€ XMLHttpRequest APIλ λΉλκΈ° ν΅μ μ μμ£Ό μ¬μ©λλ©°, μ΅κ·Όμλ fetch APIκ° μμ£Ό μ¬μ©λ©λλ€. λΉλκΈ° ν΅μ μμ²μ λ³΄λΈ ν μλ΅κ³Όλ μκ΄μμ΄ λμνλ λ°©μ μΉνμ΄μ§λ₯Ό 리λ‘λ νμ§ μκ³ λ ν΅μ μ΄ κ°λ₯ν ꡬ쑰 AJAX μ μ₯μ μνΈμμ©μ±μ΄ μ’μμ§λλ€. μλ²μ μλ‘μ΄ μ»¨ν
μΈ λ₯Ό μ 체 νμ΄μ§λ₯Ό λ€μλ‘λν νμ μμ΄ λ..
π Front-End/JavaScript
λ΄λΆν¨μκ° μΈλΆν¨μμ λ§₯λ½(context)μ μ κ·Όν μ μλ κ²μ κ°λ¦¬ν΅λλ€. μ΄νμ νκ²½(Lexical Environment) // (1) // one : μ΄κΈ°ν X, addOne : function let one; // (2) one : undefined, addOne : function one = 1; // (3) one : 1, addOne : function -> μ μ Lexical function addOne(num){ console.log(one + num); } addOne(5); // (4) ν¨μκ° μ€νλλ μκ° μλ‘μ΄ Lexical νκ²½μ΄ λ§λ€μ΄μ§λλ€. num : 5 (1) : μ½λκ° μ€νλλ©΄ μ€ν¬λ¦½νΈ λ΄μμ μ μΈν λ³μλ€μ΄ Lexical νκ²½ μ μ¬λΌκ°λλ€. (4) μμ ν¨μκ° λ겨λ°..
π Front-End/JavaScript
ES6 λΆν° μΆκ° λμμ΅λλ€. μ μ ν¨μμ ν μ’
λ₯μ΄λ©°, κ°μ²΄λ₯Ό μμ±νκΈ° μν ν
νλ¦Ώ(ν) μ
λλ€. ν΄λμ€ μμλ μμ±(field), νλ(method) μ΄ μμ΅λλ€. class λ κ°μ²΄μ λ°μ΄ν° μ μ΄λ₯Ό μ‘°μνλ λ©μλ λ₯Ό νλλ‘ μΆμν ν©λλ€. λ¬Έλ² class Person{ constructor(name, age){ // μμ± this.name = name; // κ°μ²΄λ₯Ό μ΄κΈ°ν νκΈ° μν κ° this.age = age; } // νλ speak(){ console.log(`${this.name} : hello`) } } // object , μλ‘μ΄ objectλ₯Ό λ§λ€ λ new ν€μλλ₯Ό μ¬μ© ν©λλ€. const hyunho = new Person('hyunho', 26) console.log(hyun..
π Front-End/JavaScript
νμν μ¬λ£λ€μ λ£μ΄μ£Όκ³ μ°μ΄λ΄λ λΆμ΄λΉ΅ νκ³Ό κ°μ΅λλ€. λ¬Έλ² function User(name, age){ // 첫 κΈμλ λλ¬Έμλ‘ this.name = name; this.age = age; } let user1 = new User("Mike", 30); let user2 = new User("Jan", 17); let user3 = new User("Tom", 20); new μ°μ°μλ₯Ό μ¬μ©νμ¬ νΈμΆ μ¬μ©νλ μ΄μ κ°μ²΄ 리ν°λ΄ { ... } μ μ¬μ©νλ©΄ κ°μ²΄λ₯Ό μ½κ² λ§λ€ μ μμ΅λλ€. νμ§λ§ μΌμΌμ΄ κ°μ²΄λ₯Ό λ§λλ κ²λ³΄λ€ ν¨μ¬ λΉ λ₯΄κ³ μΌκ΄μ± μκ² λ§λ€ μ μμ΅λλ€. λμ μ리 function User(name, age){ // this = {}; -> λΉ κ°μ²΄κ° μμμ μΌλ‘ λ§λ€μ΄μ§ // μλ‘μ΄ νλ‘νΌν°..
π Front-End/JavaScript
λ¨Όμ , μλ°μ€ν¬λ¦½νΈ μμ§μ λν΄ μμμΌ ν©λλ€. μλ°μ€ν¬λ¦½νΈ μμ§ μλ°μ€ν¬λ¦½νΈ μμ§ μμλ Memory Heap κ³Ό Call Stack λ‘ λλμ΄ μμ΅λλ€. Memory Heap λ°μ΄ν°λ₯Ό λ§λ€ λ, μ¦ λ³μλ₯Ό μ μΈν΄μ μ€λΈμ νΈλ₯Ό ν λΉνκ±°λ λ¬Έμ λλ μ«μλ₯Ό ν λΉνκ² λλ©΄ μ λΆ λ©λͺ¨λ¦¬ νμ μ μ₯ λ©λλ€. λ©λͺ¨λ¦¬ ν λΉμ΄ μΌμ΄λλ κ³³ Call Stack ν¨μλ₯Ό μ€ννλ μμμ λ°λΌμ 차곑차곑 μμλλ κ² μ½λ μ€νμ λ°λΌ νΈμΆ μ€νμ΄ μμ΄λ κ³³ LIFO(Last In First Out) : μ μΌ λμ€μ λ€μ΄μ¨ κ²μ΄ μ μΌ μ²μμΌλ‘ λκ°λλ€. λ°νμ νκ²½ μλ°μ€ν¬λ¦½νΈ μΈμ΄ μ체μλ λ©ν° μ€λ λ©μ΄ μμ΅λλ€. Process μ΄μ체μ μμμ μ°μμ μΌλ‘ μ€νλκ³ μλ νλ‘κ·Έλ¨ λ
립μ μΌλ‘ λ©λͺ¨λ¦¬μμ μ€ν ν©λλ€. κ°κ°μ ..
π Front-End/JavaScript
λΈλΌμ°μ λ μ΄λ²€νΈκ° λ°μνλ©΄, capturing -> bubbling μμΌλ‘ μ΄λ²€νΈλ₯Ό κ°μ§ ν©λλ€. μ΄λ²€νΈ λ²λΈλ§ (Event Bubbling) μ΄λ²€νΈ λ²λΈλ§μ νΉμ νλ©΄ μμμμ μ΄λ²€νΈκ° λ°μνμ λ ν΄λΉ μ΄λ²€νΈκ° λ μμμ μμμκ² μ λ¬λμ΄ κ°λ νΉμ±μ μλ―Έν©λλ€. μμμ νλ©΄ μμλ? HTML μμλ κΈ°λ³Έμ μΌλ‘ νΈλ¦¬ ꡬ쑰λ₯Ό κ°μ΅λλ€.μ¬κΈ°μλ νΈλ¦¬ ꡬ쑰μμΌλ‘ ν λ¨κ³ μμ μλ μμλ₯Ό μμ μμλΌκ³ νλ©° body νκ·Έλ₯Ό μ΅μμ μμλΌκ³ λΆλ₯΄κ² μ΅λλ€. const one = document.querySelector(".one"); const two = document.querySelector(".two"); const three = document.querySelector(".three"); one.ad..
π Front-End/JavaScript
ν¨μ νλ‘κ·Έλ¨ μμμ κ°κ°μ μμ κΈ°λ₯λ€μ μννλ κ² μ¬μ¬μ©μ΄ κ°λ₯ ν©λλ€. νλμ ν¨μλ ν κ°μ§μ μΌλ§ νλλ‘ λ§λλ κ²μ΄ μ’μ΅λλ€. ν¨μμ μ΄λ¦μ λ³΄κ³ ν¨μμ κΈ°λ₯μ μ μ μμ΄μΌ ν©λλ€. // κΈ°λ³Έν function ν¨μλͺ
(){ μ½λ }; ν¨μλͺ
() // νΈμΆ // 맀κ°λ³μ function ν¨μλͺ
(맀κ°λ³μ){ μ½λ }; ν¨μλͺ
(맀κ°λ³μ) // νΈμΆ μ½λ°±ν¨μ ? ν¨μ μμ ν¨μλ₯Ό μ λ¬ν΄μ μν©μ λ§κ² ν¨μλ₯Ό λΆλ₯΄λ κ² μ¦, νλΌλ―Έν°(맀κ°λ³μ)λ‘ ν¨μλ₯Ό μ λ¬νμ¬ ν¨μμ λ΄λΆμμ μ€νλλ ν¨μλ₯Ό μ½λ°±ν¨μλΌ ν©λλ€. const printYes = function () { console.log('yes') } const printNo = function print() { console.log('no'..