π μ€ν°λ λͺ
: λͺ¨λν -μ-μλκ±°-λ§λκ±°λ
π
μ€ν°λ 4μ£Όμ°¨ :
2023 / 11 / 30 (λͺ©) PM 5:00 ~ 6:00
π4μ£Όμ°¨ μ€ν°λ λͺ©ν λ²μ :
λͺ¨λμλ°μ€ν¬λ¦½νΈ Deep Dive
07μ₯ μ°μ°μ (page.74 ~ page.92)
π¨π»βπ» μ§ν μμ :
μ€ν°λ κ·Έλ£Ήμλ€(μ΄4λͺ
) κ³Ό λͺ¨λ μλ°μ€ν¬λ¦½νΈλ₯Ό ν μ£Όκ° μ½κ³ ,
4μ£Όμ°¨ λͺ©ν λ²μ λ΄μ κ°μΈμ΄ μ μ ν μ£Όμ 1~2λΆκ° λ°ν μ§ν
λλ± λΉκ΅(==) μ°μ°μ
λ μ’νκ³Ό μ°νμ νΌμ°μ°μλ₯Ό λΉκ΅ν λ λ¨Όμ μ묡μ νμ
λ³ν
μ ν΅ν΄ νμ
μ μΌμΉμ ν¨ ν κ°μ κ°μΈμ§ λΉκ΅νλ€. λ°λΌμ λλ± λΉκ΅ μ°μ°μλ μ’νκ³Ό μ°νμ νΌμ°μ°μκ° νμ
μ λ€λ₯΄λλΌλ μ묡 μ νμ
λ³ν νμ κ°μ κ°μΌ μ μλ€λ©΄ trueλ₯Ό λ°ννλ€.
μΌν 쑰건 μ°μ°μ(Ternary operator)
λ 쑰건μμ νκ° κ²°κ³Όμ λ°λΌ λ°νν κ°μ κ²°μ νλ€. μλ°μ€ν¬λ¦½νΈμ μ μΌν μΌ ν μ°μ°μμ΄λ©°, λΆμ ν¨κ³Όλ μλ€. μΌν 쑰건 μ°μ°μ ννμμ λ€μκ³Ό κ°μ΄ μ¬μ©νλ€.
쑰건μ ? 쑰건μμ΄ trueμΌ λ λ°νν κ° : 쑰건μμ΄ falseμΌ λ λ°νν κ°
μΌν 쑰건 μ°μ°μλ 첫λ²μ§Έ νΌμ°μ°μ
κ° trueλ‘ νκ°λλ©΄ λλ²μ§Έ νΌμ°μ°μ
λ₯Ό λ°ννκ³ , 첫λ²μ§Έ νΌμ°μ°μ
κ° falseλ‘ νκ°λλ©΄ μΈλ²μ§Έ νΌμ°μ°μ
λ₯Ό λ°ννλ€. μ¦, μΌν 쑰건 μ°μ°μλ λ λ²μ§Έ νΌμ°μ°μ λλ μΈλ²μ§Έ νΌ μ°μ°μλ‘ νκ°λλ ννμμ΄λ€.
λ¬Όμν(?) μμ 첫λ²μ§Έ νΌμ°μ°μλ 쑰건μ, μ¦ λΆλ¦¬μΈ νμ
μ κ°μΌλ‘ νκ°λ ννμμ΄λ€. λ§μ½ 쑰건μμ νκ° κ²°κ³Όκ° λΆλ¦¬μΈ κ°μ΄ μλλ©΄ λΆλ¦¬μΈ κ°μΌλ‘ μ묡μ νμ
λ³νλλ€. μ΄λ 쑰건μμ΄ μ°Έμ΄λ©΄ μ½λ‘ (:) μ μ λ λ²μ§Έ νΌμ°μ°μκ° νκ°λμ΄ λ°νλκ³ , κ±°μ§μ΄λ©΄ μ½λ‘ (:) λ€μ μΈ λ²μ§Έ νΌμ°μ°μκ° νκ°λμ΄ λ°νλλ€.
μΌν 쑰건 μ°μ°μ ννμμ κ°μΌλ‘ νκ°ν μ μλννμμΈ λ¬Έμ΄λ€. λ°λΌμ μΌν 쑰건 μ°μ°μ ννμμ κ°μ² λΌ λ€λ₯Έ ννμμ μΌλΆκ° λ μ μμ΄ λ§€μ° μ μ©νλ€.
<script>
var x = 10;
// μΌν 쑰건 μ°μ°μ ννμμ ννμμΈ λ¬Έμ΄λ€. λ°λΌμ κ°μ²λΌ μ¬μ©ν μ μλ€.
var result = x % 2 ? 'νμ' : 'μ§μ';
console.log(result); // μ§μ
</script>
쑰건μ λ°λΌ μ΄λ€ κ°μ κ²°μ ν΄μΌ νλ€λ©΄ if... else λ¬Έλ³΄λ€ μΌν 쑰건 μ°μ°μ ννμμ μ¬μ©νλ νΈμ΄ μ 리νλ€.νμ§λ§μ‘°κ±΄μλ°λΌμνν΄μΌν λ¬Έμ΄ νλκ° μλλΌμ¬λ¬κ°λΌλ©΄ if...elseλ¬Έμκ°λ μ±μ΄λμ’λ€.
λλ±λΉκ΅μ°μ°μλ₯Ό μ¬μ©νλ©΄μλλ μ΄μ λ₯Ό μ νν μΈμ§νμ§ λͺ»νκ³ κ·Έμ λλ±λΉκ΅μ°μ°μ(==)λ³΄λ€ μΌμΉλΉκ΅μ°μ°μ(===)κ° μ ννκ² λΉκ΅λ₯Ό ν΄μ€λ€κ³ μΈμ§λ§ νκ³ μμκΈ°μ λλ±λΉκ΅μ°μ°μλ μ¬μ©μ μνκ³ μμμ΅λλ€.
νμ§λ§ μ΄μ λ₯Ό μκ³ λμ μ μ¬μ©νλ©΄ μλλμ§ μ΄μ λ₯Ό μ€λͺ
μ ν μ μλ μ¬λμ΄ λμ΄μ κ°μΈμ μΌλ‘ μ€μν λ΄μ©μ΄λΌκ³ μκ°μ νμ΅λλ€.μ λ΄μ©μ λΆμ°μ€λͺ
μ νμλ©΄
Numberκ°μΈ 5μ
Stringκ°μΈ "5"λ₯Ό λλ±λΉκ΅μ°μ°μ(==)λ‘ λΉκ΅νμ λ,
trueκ°μ΄ μΆλ ₯λλ μ΄μ λ
Number 5 == String "5"
μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ°μ°μ λμμΈ νΌμ°μ°μ
String "5"μΈ κ°μ Number 5λ‘ μ묡μ νμ
λ³ν
μ μμΌμ μ«μνμΌλ‘ λ³νμ ν΄μ€λλ€. μ΄λ‘ μΈν΄
κΈ°μ‘΄μ Number 5κ°μ μ«μν μ΄λ―λ‘ λ¬Έμν "5"μΈκ°λ§ μ«μνμΌλ‘ λ³νμ νκ² λλκ±°μ£ .κ·Έλμ
Number 5μ == Number 5λ‘ λ°ννμ¬ λΉκ΅λ₯Ό νκ²λκ³ λμ κ°μ κ°μΌλ―λ‘ trueλ₯Ό μΆλ ₯νκ² λ©λλ€.
μ΄λ»κ² 보면 λ¬Έμ μ μ΄ λ μμλ μ묡μ νμ
λ³νμ λ°©μ§νκΈ°μν΄ μΌμΉλΉκ΅μ°μ°μλ₯Ό μ¬μ©νλ€κ³ ν©λλ€.
Reactλ₯Ό νμ΅νλ©΄μ ifλ¬Έλ λ§μ΄ νμ©νμ§λ§ μΌν쑰건μ°μ°μ νμ©νλ μ½λλ
λ§μ΄ μ νκ² κ°μ΅λλ€.
JSXμμλ ifλ¬Έμ΄λ for,switchλ¬Έ μ μ΄λ¬Έμ μ¬μ©νλλ° μ νμ΄ μκΈ° λλ¬Έμ ννμ λ¬ΈμΈ && μ°μ°μλ μΌνμ°μ°μκ° λ§μ΄ μ¬μ©λλ€κ³ ν©λλ€.
μΌν쑰건μ°μ°μμ λν΄ μ΄ν΄λ₯Ό νκ³ μλ€λ©΄ μ½λ κ°λ
μ±μ΄ μ’λ€κ³ ννμ λͺ»νκ² μ§λ§ μ’ λ ν΄λ¦°νκ²
μ½λ©μ ν μ μμ§μμκΉ λΌλ μκ°μ μΌν쑰건μ°μ°μ λ΄μ©μ΄ μ€μνλ€κ³ μκ°μ νκ² λμ΅λλ€.
"Reactνμ΅ μ€μ μ΄λ €μμ λ§μ΄ λκΌμλλ° JSμμ λλκ²μλκ° μΆλ€."
"μ€λ¬΄μλ€μ΄ κΈ°λ³ΈκΈ°κ° ννν΄μΌλλ μ΄μ λ₯Ό λ§ν΄μ£Όλ μ΄μ κ° μλκ² κ°λ€.."
"JS , React λ무λλ μνκ³ μΆλ€."