9. μλ°μ€ν¬λ¦½νΈ μμ§
π JS μμ§?
μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό μ€ννλ νλ‘κ·Έλ¨
V8 μμ§ -> Node.js / Chrome
π JS μμ§ λ΄λΆ
1. μ½ μ€ν
JSμμ νλ‘κ·Έλ¨μ μ€νν λ μ°λ μ€ν 컨ν μ€νΈλ₯Ό μ€νμ΄λΌλ μλ£κ΅¬μ‘° ννλ‘ μμ¬μ Έμλ 곡κ°.
2. λΈλΌμ°μ λ°νμ
web Api(DOM, Timers, Fetch λ±λ±)λ μ½λ°± ν μμκ° μκ³
μ½λ°± νμμ μ½λ°± ν¨μλ₯Ό λΉΌλΌλλ μ΄λ²€νΈ 루νλ₯Ό ν΅ν΄μ λΉΌλΈλ€.
3. ν
νμ΄λΌλ 곡κ°μμμ μ€λΈμ νΈλ€μ΄ μ μ₯λμ΄ μλ€.
4. μ€ν 컨ν μ€νΈ
μλ°μ€ν¬λ¦½νΈκ° μ€νλλ νκ²½.
λ§μ½ App.jsλ₯Ό μ€ννλ€κ³ νμλ μ»΄νμΌ νμ
1. μ μ μ€ν 컨ν μ€νΈ
2. μμ±μ μ μ€ν 컨ν μ€νΈ
3. μ€νν¨μ μ€ν λ° μ½λ°± κΈ°λ€λ¦Ό
μ΄μμλ‘ μ€ν 컨νμ€νΈκ° μμ±μ΄λλ€.
κ·Έλ λ€λ©΄ μλμ JS μ½λμμλ λͺ κ°μ μ€ν 컨ν μ€νΈκ° μμ±μ΄ λ κΉ?
const title = ‘Hello’;
const firstFunction = () => {
let a = 1;
a+=3;
return a;
}
const secondFunction = () => {
let b = 20;
return b;
}
λ΅μ 3κ°.
1. μ μ μ€ν 컨ν μ€νΈ
2. firstFunction μ€ν 컨ν μ€νΈ
3. secondFunction μ€ν 컨ν μ€νΈ
π μ½ μ€νμ λμ μμ
const title = ‘Hello’;
const firstFunction = () => {
let a = 1;
const b = secondFunction(2, 3);
a = a + b;
return a;
}
Function secondFunction = (x, y) => {
Var b = 20;
return c;
}
const x = firstFunction();
JS μ½λκ° μ€νμ΄ λλ©΄ μ½λ μμμ μλλ‘ μμλλ‘ μ½μ΄λκ°λ€.
1. κ·Έλ μ μΌ λ¨Όμ κΈλ‘λ² μ€ν 컨νμ€νΈλ₯Ό λ§λ€μ΄μ μ½μ€νμ μμΈλ€.
2. xμ firstFunctiongν¨μκ° μ€νμ΄ λ λ firstFunctiong() μ€ν 컨ν μ€νΈκ° λ μ½μ€νμ μμΈλ€.
3. firstFunctiongν¨μμμ secondFunction()κ° μ€νμ΄ λ λ secondFunction() μ€ν 컨ν μ€νΈκ° λ μ½μ€νμ μμΈλ€.
μ¬κΈ°κΉμ§μ μμλ‘ μμΈ μ½μ€νμ μ€ν 컨νμ€νΈ μμλ€ - 1
secondFunction()
firstFunctiong()
κΈλ‘λ²
secondFunction()μμ cκ° returnμ΄ λμ΄ secondFunction() μ€νμ΄ λμ΄ λλ©΄
μ½μ€νμ 맨μμ μμΈ secondFunction() μ€ν 컨νμ€νΈκ° μμ λλ€.
μ¬κΈ°κΉμ§μ μμλ‘ μμΈ μ½μ€νμ μ€ν 컨νμ€νΈ μμλ€ - 2
firstFunctiong()
κΈλ‘λ²
secondFunction()μ€νμ΄ λλλ©΄ λ€μ firstFunctiong()λ‘ λμκ°μ aλ₯Ό return νλ
λλ¨Έμ§ μ€νμ λͺ¨λ λ§μΉλ©΄ λ firstFunctiong() μ€ν 컨νμ€νΈκ° μμ λλ€.
μ¬κΈ°κΉμ§μ μμλ‘ μμΈ μ½μ€νμ μ€ν 컨νμ€νΈ μμλ€ - 3
κΈλ‘λ²
μ΄λ κ² const xμ ν¨μμ κ·Έ νμ ν¨μλ€κΉμ§ λͺ¨λ μ€νμ΄ λ§λ¬΄λ¦¬λλ©΄ λ§μ§λ§μΌλ‘ λ¨μμλ
κΈλ‘λ² μ€ν μ½νμ€νΈλ μμ λλ€.
μ¬κΈ°κΉμ§μ μμλ‘ μμΈ μ½μ€νμ μ€ν 컨νμ€νΈ μμλ€ - 4
[ λΉμ΄μμ ]
μ΄λ κ² JS μ½ μ€νμ νλ²μ νκ°μ μ€νλ§ μ²λ¦¬νλκ²μ μ μ μλ€.