λͺ¨λν μ μλκ±° λ§λ
2023 / 12 /29μΌ (κΈ) 05:00 PM μ§ν
μ€ν°λ κ·Έλ£ΉμλΆλ€ 2μ£Όκ° κ° νμμ νλ‘μ νΈλ₯Ό μ§ν νλλΌ
μ€ν°λ κ·Έλ£ΉμλΆλ€κ³Ό λ
Όμ ν μ€ν°λ μ§ν κΈ°κ°λμ μ€ν°λ μ§νμ μ μ μ€λ¨νκ³
νλ‘μ νΈ μΌμ μ΄ λλλ©΄ λ€μ μ§ννκΈ°λ‘ νλ€.
λ€λ€ νλ‘μ νΈ μ°Έμ¬νμλλΌ κ³ μνμ
¨μ΅λλ€!
09μ₯ νμ λ³νκ³Ό λ¨μΆ νκ° ( 108p ~ 123p)
λͺ μμ νμ λ³ν μ±ν°μμ
μ«μ νμ μΌλ‘ λ³ννλ λ°©λ² μ€ parsInt , parseFloat ν¨μλ₯Ό νμ©νλ λ°©λ²μ μκ²λμλ€.
<script>
parseInt('0'); // -> 0
parseFloat('10.53'); // -> 10.53
</script>
parseFloat
ν¨μλ μμμ κΉμ§ λ°νν΄μ£Όλ ν¨μμΈκ±Έ μμλ€.
νμ§λ§ ParseInt
ν¨μλ μ μμμ μ 무μνκ³ λ°νν΄μ€κΉ?
κ·Έλ¦¬κ³ Math.floor
λΌλ ν¨μκ° μλλ° ParseInt
μ μ°¨μ΄μ μ 무μμΌκΉ?
ParseInt : μ μκ°μΌλ‘ λ°ννκΈ° μν΄ μμμ μ΄ν κ°μ 무μνκ³ λ°νν΄μ£Όλ ν¨μλΌκ³ νλ€.
Math.floor : μμκ°μ λ΄λ¦Ό νμ¬ λ°νν΄μ£Όλ ν¨μλΌκ³ νλ€.
κ°λ°μ λꡬμμ μ°¨μ΄μ μ μ΄ν΄λ΄€λ€.
μ μ¬μ§μ²λΌ κ°λ°μλꡬμμ μΆλ ₯μ ν΄λ΄€μ λ
parseIntν¨μλ μμ μ΄ν΄λ³Έ λ΄μ©μ²λΌ μμμ λ€μλ 무μνκ³ λ°νμ ν΄μ€λ€.
math.floor ν¨μλ μμμ μ λ΄λ¦ΌνκΈ° λλ¬Έμ -4κ° μΆλ ₯λλ λͺ¨μ΅μ λ³Ό μ μλ€.
λΉμ·ν ν¨μκ° μ‘΄μ¬νκΈ° λλ¬Έμ μλμ λ§κ² μ¬μ©νλ©΄ μ’μκ² κ°λ€.
μμκ°μ μ¬λ¦Ό νμ¬ λ°νν΄μ£Όλ
Math.ceil
λΌλ ν¨μλ μ‘΄μ¬νλ€.
λ°μ¬λ¦Ό νλMath.round
ν¨μλ μ‘΄μ¬νλ μμλλ©΄ μ’μκ² κ°λ€.
λ
Όλ¦¬ν©(||) λλ λ
Όλ¦¬κ³±(&&)μ°μ°μ ννμμ νκ° κ²°κ³Όλ λΆλ¦¬μΈ κ°μ΄ μλ μλ μλ€κ³ νλ€.
λ
Όλ¦¬ν© λλ λ
Όλ¦¬κ³± μ°μ°μ ννμμ μΈμ λ 2κ°μ νΌμ°μ°μ μ€ μ΄λ νμͺ½μΌλ‘ νκ°λλ€κ³ νλ€.
λ
Όλ¦¬κ³±(&&)μ°μ°μ : λ κ°μ νΌμ°μ°μκ° λͺ¨λ trueλ‘ νκ°λ λ trueλ₯Ό λ°ννλ€.
νλλΌλ falseμΈ κ²½μ° falseκ°μ λ°ννλ€.
λ
Όλ¦¬κ³± μ°μ°μλ μ’νμμ μ°νμΌλ‘ νκ°κ° μ§νλλ€.
λ
Όλ¦¬ μ°μ°μ κ²°κ³Όλ₯Ό κ²°μ νλ λ λ²μ§Έ νΌμ°μ°μλ₯Ό λ°ννλ€.
λ
Όλ¦¬ν©(||)μ°μ°μ : λ κ°μ νΌμ°μ°μ μ€ νλλ§ trueλ‘ νκ°λμ΄λ trueλ₯Ό λ°ννλ€.
νλλΌλ trueμΈ κ²½μ° trueκ°μ λ°ννλ€.
λ
Όλ¦¬ν© μ°μ°μλ λ
Όλ¦¬κ³± μ°μ°μμ λμΌνκ² μ’νμμ μ°νμΌλ‘ νκ°κ° μ§νλλ€.
λ
Όλ¦¬ μ°μ°μ κ²°κ³Όλ₯Ό κ²°μ ν 첫 λ²μ§Έ νΌμ°μ°μλ₯Ό λ°ννλ€.
λ¨μΆ νκ° ννμ | νκ° κ²°κ³Ό |
---|---|
true II anything | true |
false II anything | anything |
true && anything | anything |
false && anything | false |
λ¨μΆ νκ°λ₯Ό μ¬μ©νλ©΄ ifλ¬Έμ λ체ν μ μλ€κ³ νλ€.
μ΄λ€ μ‘°κ±΄μ΄ Truthy κ°(μ°ΈμΌλ‘ νκ°λλ κ°)μΌ λ 무μΈκ°λ₯Ό ν΄μΌ νλ€λ©΄ λ
Όλ¦¬κ³±(&&) μ°μ°μλ₯Ό , Falsy κ°(κ±°μ§μΌλ‘ νκ°λλ κ°)μΌ λ 무μΈκ°λ₯Ό ν΄μΌ νλ€λ©΄ λ
Όλ¦¬ν©(||) μ°μ°μλ₯Ό νμ©νμ¬ ννμμΌλ‘ ifλ¬Έμ λ체ν μ μλ€κ³ νλ€.
ES11μμ λμ
λ μ΅μ
λ 체μ΄λ(optional chaining) μ°μ°μ ?.λ μ’νμ νΌμ°μ°μκ° null λλ undefinedμΈ κ²½μ° undefinedλ₯Ό λ°ννκ³ ,
κ·Έλ μ§ μμΌλ©΄ μ°νμ νλ‘νΌν° μ°Έμ‘°λ₯Ό μ΄μ΄κ°λ€.
<script>
var elem = null;
//elemμ΄ null λλ undefinedμ΄λ©΄ undefunedλ₯Ό λ°ν
// κ·Έλ μ§ μμΌλ©΄ μ°νμ νλ‘νΌν° μ°Έμ‘°λ₯Ό μ΄μ΄κ°
var value = elem?.value;
console.log(value); // undefined
</script>
κ·Έλ λ€λ©΄ μ΅μ
λ 체μ΄λμ°μ°μλ μΈμ νμ©νλ©΄ μ’μκΉ?
μ¬μ€μ μ μμ μ½λλ§ λ΄μλ μ무 μλ―Έκ° μκ³ κ°λ μ΄ μ μ‘νμ§ μμκ²μ΄λ€.
μ΅μ
λ 체μ΄λμ μ€μ²©λ κ°μ²΄(object) κ° μμ λ νμ©νλ©΄ μ’λ€.
κ°μ²΄μμ κ°μ΄ λ€μ΄μμΌλ©΄ λ°νμ ν΄μ£Όκ³ μλ€λ©΄ undefinedλ‘ λ°νμ ν΄μ€λ€.
μ£Όμν μ μ μ΅μ
λ 체μ΄λμ μλ¬λ₯Ό λ°©μ§νλκ² μλ μλ¬λ₯Ό μ κΉ μ¨κΈ°λ μν μ νλκ²μ΄κΈ° λλ¬Έμ μμ£Ό νμ©νλ건 μ§μνλ€κ³ νλ€.
null λ³ν© μ°μ°μ ?? λ μ’νμ νΌμ°μ°μκ° null λλ undefinedμΈ κ²½μ° μ°νμ νΌμ°μ°μλ₯Ό λ°ννκ³ , κ·Έλ μ§ μμΌλ©΄ μ’νμ νΌμ°μ°μλ₯Ό λ°ννλ€.
null λ³ν© μ°μ°μ ??λ λ³μμ κΈ°λ³Έκ°μ μ€μ ν λ μ μ©νλ€.
<script>
let foo = null ?? 'default string'
console.log(foo); // "default string"
</script>
null λ³ν© μ°μ°μ(nullish coalescing)λ μΈμ νμ©νλ©΄ μ’μκΉ?
μλ₯Ό λ€μ΄ μΈλΆ λ°μ΄ν°λ₯Ό λ°μμ¬ λ λ¦κ² λ°μμ€κ² λλ€λ©΄ null λ³ν© μ°μ°μλ₯Ό νμ©νλ λ°©λ²μ΄μλ€.
<script>
const setData = data ?? "Loding..."
</script>
π‘ νμ΅μ ν΅ν΄ λλμ 3κ°μ§
1οΈβ£ μ΅μ λ¬Έλ²μ μ§ν₯νλμ΄μ κ° μꡬλ.
2οΈβ£ 리μ‘νΈ, νμ μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ©΄μ μ΅μ λ체μ΄λκ³Ό nullλ³ν© μ°μ°μμ λν΄
μ νν μ΄ν΄νμ§ λͺ»νκ³ μμλλ° μμ JSμμ μ΄λ €μνκ³ μμλ€.
3οΈβ£ μ€ν°λ μ°Έμ¬ μνμΌλ©΄ νννκ² λ€..