λͺ©λ‘JavaScript π (8)
<star />
μλ²μ GET, POST μμ²μ ν λ, μλ‘κ³ μΉ¨ μμ΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μ μκ² λμμ£Όλ κ°λ¨ν λΈλΌμ°μ κΈ°λ₯μ λ§νλ€. Ajax μ¬μ©νλ©΄ μλ‘κ³ μΉ¨ μμ΄ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ μ μμ. > Ajax λ‘ GET/POST μμ²νλ λ°©λ² 1. XMLHttpRequest λΌλ μλ λ¬Έλ² μ¬μ©. 2. fetch() λΌλ μ΅μ λ¬Έλ² μ¬μ©. 3. axios κ°μ μΈλΆ λΌμ΄λΈλ¬λ¦¬ μ¬μ©. > Ajax μμ² npm install axios ν°λ―Έλλ‘ axios μ€μΉνκΈ° import axios from 'axios' const App = () => { return ( { axios.get('https://aaa.com/data.json') .then((κ²°κ³Ό) => { console.log(κ²°κ³Ό.data); }) .catch(()..

νμ¬ star λ³μμ κ°μ 28μ΄λ€. star λ³μμ μ΄μ κ°μΈ undefined μ 27μ μ΄λ€ λ³μλ κ°μΌλ‘ κ°κ³ μμ§ μλλ€. μ΄λ€ μλ³μμλ μ°κ²°λμ΄ μμ§ μλ€. undefined μ 27μ΄ λ μ΄μ νμνμ§ μλ¨ κ²μ μλ―Έ. μ무λ μ¬μ©νμ§ μμΌλ νμμλ€. μ΄λ° λΆνμν μ°λ κΈ° κ°λ€μ κ°λΉμ§ μ½λ ν° (garbage collector) μ μν΄ λ©λͺ¨λ¦¬μμ μλ ν΄μ λλ€. (λ©λͺ¨λ¦¬μμ μΈμ ν΄μ λ μ§λ μμΈ‘ λΆκ°) κ°λΉμ§ μ½λ ν° (garbage collector) κ° λμΌ? - μ ν리μΌμ΄μ μ΄ ν λΉν λ©λͺ¨λ¦¬ 곡κ°μ μ£ΌκΈ°μ μΌλ‘ κ²μ¬νμ¬ λ μ΄μ μ¬μ©λμ§ μλ λ©λͺ¨λ¦¬λ₯Ό ν΄μ νλ κΈ°λ₯μ λ§ν¨. λ μ΄μ μ¬μ©λμ§ μλ λ©λͺ¨λ¦¬λ κ°λ¨ν λ§νμλ©΄ μ΄λ€ μλ³μλ μ°Έμ‘°νμ§ μλ λ©λͺ¨λ¦¬ 곡κ°μ μλ―Έν¨. μλ°μ€ν¬λ¦½νΈλ..
1. null 1) null νμ μ κ°μ null μ΄ μ μΌνλ€. 2) λ³μμ κ°μ΄ μλ€λ κ²μ μλμ μΌλ‘ λͺ μν λ μ¬μ©νλ€. 3) λ³μμ null μ ν λΉνλ κ²μ λ³μκ° μ΄μ μ μ°Έμ‘°νλ κ°μ λ μ΄μ μ°Έμ‘°νμ§ μκ² λ€λ μλ―Έλ€. μ΄λ μ΄μ μ ν λΉλμ΄ μλ κ°μ λν μ°Έμ‘°λ₯Ό λͺ μμ μΌλ‘ μ κ±°νλ κ²μ μλ―Ένλ©°, μλ°μ€ν¬λ¦½νΈ μμ§μ λꡬλ μ°Έμ‘°νμ§ μλ λ©λͺ¨λ¦¬ 곡κ°μ λν΄ κ°λΉμ§ μ½λ μ μ μνν κ²μ΄λ€. const theboyz = 'tbz'; //μ΄μ μ°Έμ‘°λ₯Ό μ κ±°νλ€ //theboyz λ³μλ λ μ΄μ 'tbz' λ₯Ό μ°Έμ‘°νμ§ μμ! //λ³μμ μ€μ½νλ₯Ό μ’κ² λ§λ€μ΄ λ³μ μ체λ₯Ό μ¬λΉ¨λ¦¬ μλ©Έμν€λ νΈμ΄ λμ theboyz = null; ν¨μκ° μ ν¨ν κ°μ λ°νν μ μλ κ²½μ° λͺ μμ μΌλ‘ null μ λ°ννκΈ°λ ..

(κ°μκ³μλ λ보μ΄μ¦ νκ° μλ€.) μλ°μ€ν¬λ¦½νΈλ μ±κΈ μ€λ λλ‘ λμνλ€. π μ±κΈ μ€λ λ λ°©μμ ν λ²μ νλμ νμ€ν¬λ§ μ²λ¦¬ν μ μλ€λ κ²μ μλ―Ένλ€. 1οΈβ£ νμ§λ§, λΈλΌμ°μ λμμ μ΄ν΄λ³΄λ©΄ μλ§μ νμ€ν¬κ° λμμ μ²λ¦¬λλ κ²μ²λΌ λκ»΄μ§λ€. πͺ 1) μ΄λ²€νΈ 루ν - μλ°μ€ν¬λ¦½νΈμ λμμ± (concurrency) μ μ§μνλ€. - λΈλΌμ°μ μ λ΄μ₯λ κΈ°λ₯ μ€ νλ. βοΈ μ½ μ€ν (call stack) - μμ€ μ½λ (μ μ μ½λλ ν¨μ μ½λ λ±...) νκ° κ³Όμ μμ μμ±λ μ€ν 컨ν μ€νΈκ° μΆκ°λκ³ , μ κ±°λλ μ€ν μλ£κ΅¬μ‘°μΈ μ€ν 컨ν μ€νΈ μ€νμ΄ λ°λ‘ μ½ μ€νμ΄λ€. - ν¨μλ₯Ό νΈμΆνλ©΄ ν¨μ μ€ν 컨ν μ€νΈκ° μμ°¨μ μΌλ‘ μ½ μ€νμ νΈμλμ΄ μμ°¨μ μΌλ‘ μ€νλλ€. - μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ½ μ€νμ ..

1. λκΈ° (Synchronous) λ 무μμΌκΉ? - λκΈ° λ°©μμ μλ²μμ μμ²μ 보λμ λ μλ΅μ΄ λμμμΌ λ€μ λμμ μνν μ μλ€. μ¦, Aμμ μ΄ λͺ¨λ μ§ν λ λκΉμ§ Bμμ μ λκΈ°ν΄μΌνλ€. μλ°μ€ν¬λ¦½νΈ μμ§μ λ¨ νλμ μ€ν 컨ν μ€νΈ μ€νμ κ°λλ€. μ€ν μ€μΈ μ€ν 컨ν μ€νΈλ₯Ό μ μΈν λͺ¨λ μ€ν 컨ν μ€νΈλ λͺ¨λ μ€ν λκΈ° μ€μΈ νμ€ν¬λ€μ΄λ€. λκΈ° μ€μΈ νμ€ν¬λ€μ νμ¬ μ€ν μ€μΈ μ€ν 컨ν μ€νΈκ° νλμ΄ μ€ν 컨ν μ€νΈ μ€νμμ μ κ±°λλ©΄, λ€μ λ§ν΄ νμ¬ μ€ν μ€μΈ ν¨μκ° μ’ λ£νλ©΄ λΉλ‘μ μ€νλκΈ° μμνλ€. μλ°μ€ν¬λ¦½νΈ μμ§μ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μλ μ±κΈ μ€λ λ (single thread) λ°©μμΌλ‘ λμνλ€. μ±κΈ μ€λ λ λ°©μμ ν λ²μ νλμ νμ€ν¬λ§ μ€νν μ μκΈ° λλ¬Έμ μ²λ¦¬μ μ..

1. λ³μ νΈμ΄μ€ν console.log(foo);// ReferenceError : foo is not defined let foo; let ν€μλλ‘ μ μΈν λ³μλ₯Ό λ³μ μ μΈλ¬Έ μ΄μ μ μ°Έμ‘°νλ©΄ μ°Έμ‘° μλ¬ (ReferenceError) κ° λ°μν¨. console.log(z);// undefined var z; var ν€μλλ‘ μ μΈν λ³μλ λ°νμ μ΄μ μ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ "μ μΈ λ¨κ³" μ "μ΄κΈ°ν λ¨κ³" κ° νλ²μ μ§νλ¨. μ μΈ λ¨κ³μμ μ€ν 컨ν μ€νΈμ λ μ컬 νκ²½, μ¦ μ€μ½νμ λ³μ μλ³μλ₯Ό λ±λ‘νμ¬ μλ°μ€ν¬λ¦½νΈ μμ§μ λ³μμ μ‘΄μ¬λ₯Ό μλ¦Ό ππ» κ·Έλ¦¬κ³ μ¦μ μ΄κΈ°ν λ¨κ³μμ undefined λ‘ λ³μλ₯Ό μ΄κΈ°νν¨. ππ» λ³μ μ μΈλ¬Έ μ΄μ μ λ³μμ μ κ·Όν΄λ μ€μ½νμ λ³μκ° μ‘΄μ¬νκΈ° λμ μ..