πΆ μ°μ°μλ?
μ°μ°μλ νλ μ΄μμ κ°μ λν΄ λ€μν μ°μ°μ μννλ κΈ°νΈμ λλ€. μ΄λ μ°μ°μ λμμ΄ λλ κ°μ νΌμ°μ°μλΌκ³ νλ©°, μ°μ°μ ν΅ν΄ μλ‘μ΄ κ°μ μμ±ν©λλ€.
πΆ μ°μ μ°μ°μ
μ°μ μ°μ°μλ μνμ μ°μ°μ μννμ¬ μλ‘μ΄ μ«μ κ°μ λ§λ€μ΄λ΄λ μ°μ°μμ λλ€. λ§μ½ μ°μ°μ΄ λΆκ°λ₯ν κ²½μ° ``NaN``(Not a Number)μ λ°νν©λλ€.
μ°μ μ°μ°μλ νΌμ°μ°μμ κ°μμ λ°λΌ μ΄ν μ°μ μ°μ°μμ λ¨μΌ μ°μ μ°μ°μλ‘ κ΅¬λΆλ©λλ€.
- μ΄ν μ°μ μ°μ°μ : λ κ°μ νΌμ°μ°μλ₯Ό λμμΌλ‘ μ°μ°μ μνν©λλ€. λ§μ (``+``), λΊμ (``-``), κ³±μ (``*``), λλμ (``/``), λλ¨Έμ§(``%``)κ° μ΄μ ν΄λΉν©λλ€. μ΄λ€μ νΌμ°μ°μλ₯Ό λ³κ²½νμ§ μκ³ μλ‘μ΄ κ°μ λ°ννλ―λ‘ λΆμ ν¨κ³Όκ° μμ΅λλ€.
- λ¨ν μ°μ μ°μ°μ : νλμ νΌμ°μ°μλ₯Ό λμμΌλ‘ μ°μ°μ μνν©λλ€. ``++``, ``--``(μ¦κ°/κ°μ μ°μ°μ)μ ``+``, ``-``(λΆνΈ μ°μ°μ)κ° μ΄μ ν΄λΉν©λλ€. ``++``μ ``--``λ νΌμ°μ°μμ κ°μ λ³κ²½νλ λΆμ ν¨κ³Όλ₯Ό κ°μ§λλ€. μμΉμ λ°λΌ λμμ΄ λ¬λΌμ§λλ°, μ°μ°μκ° μμ μμΉνλ©΄(μ μ μ°μ°μ) λ¨Όμ κ°μ΄ λ³κ²½λκ³ , λ€μ μμΉνλ©΄(νμ μ°μ°μ) κΈ°μ‘΄ κ°μ μ¬μ©ν ν λ³κ²½λ©λλ€.
- ``+`` μ°μ°μλ μ«μ κ°μ μν₯μ μ£Όμ§ μμ§λ§, λ¬Έμμ΄μ μ«μλ‘ λ³ννλ κΈ°λ₯μ κ°μ§λλ€. λ°λ©΄, ``-`` μ°μ°μλ λΆνΈλ₯Ό λ°μ μν€λ©° μ«μκ° μλ κ°μ μ¬μ©λ κ²½μ° μ«μλ‘ λ³νν ν λΆνΈλ₯Ό λ³κ²½ν©λλ€.
- ``+`` μ°μ°μλ λ¬Έμμ΄μ μ°κ²°νλ κΈ°λ₯λ ν©λλ€. νλ μ΄μμ νΌμ°μ°μκ° λ¬Έμμ΄μ΄λΌλ©΄ μ°μ° κ²°κ³Όλ λ¬Έμμ΄μ΄ λ©λλ€.
λν, ``1 + ture``μ κ°μ ννμμλ ``true``κ° ``1``λ‘ λ³νλλ κ²μ²λΌ, μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μλμΌλ‘ λ°μ΄ν° νμ μ λ³ννλ κ³Όμ μ μ묡μ νμ λ³ν λλ νμ κ°μ λ³νμ΄λΌκ³ ν©λλ€.
πΆ ν λΉ μ°μ°μ
ν λΉ μ°μ°μλ μ°νμ κ°μ νκ°ν ν μ’νμ λ³μμ ν λΉνλ μ°μ°μμ λλ€. ``=`` μ°μ°μλ₯Ό κΈ°λ³ΈμΌλ‘ νμ¬, ``+=``, ``-=``, ``*=``, ``/=``, ``%=`` μ κ°μ λ³΅ν© ν λΉ μ°μ°μλ μμ΅λλ€. μ΄λ€μ νΌμ°μ°μμ κ°μ λ³κ²½νλ λΆμν¨κ³Όλ₯Ό κ°μ§λλ€.
ν λΉ μ°μ°μ κ²°κ³Όκ°μ ν λΉλ κ°μ΄λ―λ‘, μ°μμ μΈ ν λΉλ κ°λ₯ν©λλ€.
var a, b, c;
a = b = c = 0; // λͺ¨λ λ³μμ 0μ ν λΉ
πΆ λΉκ΅ μ°μ°μ
λΉκ΅ μ°μ°μλ λ κ°μ νΌμ°μ°μλ₯Ό λΉκ΅ν ν λ Όλ¦¬κ°(``true`` λλ ``false``)μ λ°νν©λλ€.
- λλ± λΉκ΅(``==``) & μΌμΉ λΉκ΅(``===``)
- ``==``(λλ± λΉκ΅ μ°μ°μ) : νμ μ μλ λ³ννμ¬ λΉκ΅ν©λλ€. μ¦, ``'1' == 1``μ ``true``κ° λ©λλ€.
- ``===``(μΌμΉ λΉκ΅ μ°μ°μ) : νμ κ³Ό κ°μ΄ λͺ¨λ κ°μμΌ ``true``λ₯Ό λ°νν©λλ€. ``'1' === 1``μ ``false``κ° λ©λλ€.
- ``NaN``μ μ΄λ ν κ°κ³Όλ μΌμΉνμ§ μμΌλ©°, ``NaN === NaN``λ ``false``κ° λ©λλ€. ``NaN``μ νλ³ν λλ ``Number.isNaN()``μ μ¬μ©ν΄μΌ ν©λλ€.
- λΆλ± λΉκ΅(``!=``) & λΆμΌμΉ λΉκ΅(``!==``)
- μμ λ°λ κ°λ μΌλ‘ λμν©λλ€.
- λμ λΉκ΅(``<``, ``>``, ``<=``, ``>=``)
- λ κ°μ λΉκ΅νμ¬ ``true`` λλ ``false``λ₯Ό λ°νν©λλ€.
πΆ μΌν 쑰건 μ°μ°μ
μΌν 쑰건 μ°μ°μλ 쑰건μ λ°λΌ λ κ°μ ννμ μ€ νλλ₯Ό λ°ννλ μ°μ°μμ λλ€.
const result = score >= 60 ? "ν©κ²©" : "λΆν©κ²©";
μ‘°κ±΄λ¬ΈμΈ ``if-else``μ λΉμ·νμ§λ§, κ°μ λ°νν μ μμ΄ λ³μμ μ§μ ν λΉν μ μλ€λ μ₯μ μ΄ μμ΅λλ€.
πΆ λ Όλ¦¬ μ°μ°μ
λ Όλ¦¬ μ°μ°μλ λ Όλ¦¬μ νλ¨μ μννλ©°, ``&&``(λ Όλ¦¬κ³±), ``||``(λ Όλ¦¬ν©), ``!``(λ Όλ¦¬ λΆμ ) μ°μ°μκ° μμ΅λλ€.
- ``!``(λ Όλ¦¬ λΆμ ) μ°μ°μλ μΈμ λ λΆλ¦¬μΈ κ°μ λ°νν©λλ€. νΌμ°μ°μκ° λΆλ¦¬μΈ κ°μ΄ μλ κ²½μ° μλμΌλ‘ λ³ν ν μ°μ°ν©λλ€.
- ``&&``, ``||`` μ°μ°μλ λΆλ¦¬μΈ κ° λΏλ§ μλλΌ νΌμ°μ°μ μ체λ₯Ό λ°ννλ νΉμ§μ΄ μμ΅λλ€.
console.log("hello" && "world"); // "world"
console.log(null || "default"); // "default"
πΆ μΌν μ°μ°μ
μΌν μ°μ°μ(``,``)λ μΌμͺ½ νΌμ°μ°μλΆν° μ°¨λ‘λλ‘ νκ°ν ν λ§μ§λ§ νΌμ°μ°μμ κ²°κ³Όλ₯Ό λ°νν©λλ€.
var z = (1, 2, 3); // zλ 3
πΆ κ·Έλ£Ή μ°μ°μ
κ·Έλ£Ή μ°μ°μ(``()``)λ μ°μ°μμ μ°μ μμλ₯Ό μ‘°μ νλλ° μ¬μ©λ©λλ€.
console.log(2 + 3 * 4); // 14
console.log((2 + 3) * 4); // 20
πΆ ``typeof`` μ°μ°μ
`typeof`` μ°μ°μλ λ°μ΄ν° νμ μ λ¬Έμμ΄λ‘ λ°νν©λλ€.
console.log(typeof "Hello"); // "string"
console.log(typeof 123); // "number"
νμ§λ§ ``typeof null``μ ``object``λ₯Ό λ°ννλ―λ‘ ``null`` νμΈ μ ``=== null``μ μ¬μ©ν΄μΌ ν©λλ€.
λν, μ μΈλμ§ μμ λ³μμ ``typeof``λ₯Ό μ¬μ©νλ©΄ ``ReferenceError``κ° μλ ``undefined``λ₯Ό λ°νν©λλ€.
πΆ μ§μ μ°μ°μ
μ§μ μ°μ°μ(``**``)λ μ’νμ λ°(base)μΌλ‘, ννμ μ§μ(exponent)λ‘ κ±°λμ κ³±μ μνν©λλ€.
console.log(2 ** 3); // 8
μ΄μ μλ ``Math.pow()``λ₯Ό μ¬μ©νμΌλ, ES7λΆν° ``**`` μ°μ°μκ° λμ λμμ΅λλ€.
πΆ μ°μ°μμ λΆμν¨κ³Ό
μΌλ°μ μΌλ‘ μ°μ°μλ νΌμ°μ°μμ κ°μ λ³κ²½νμ§ μμ§λ§, ν λΉ μ°μ°μ, μ¦κ°/κ°μ μ°μ°μ, ``delete`` μ°μ°μλ νΌμ°μ°μμ κ°μ λ³κ²½νλ λΆμ ν¨κ³Όλ₯Ό κ°μ§λλ€.
πΆ μ°μ°μ μ°μ μμ
μ°μ°μμ μ°μ μμλ μ΄λ€ μ°μ°μ΄ λ¨Όμ μνλλμ§ κ²°μ ν©λλ€. μ°μ°μ μ°μ μμκ° λμμλ‘ λ¨Όμ μ€νλ©λλ€. μ΄λ₯Ό λͺ νν νκΈ° μν΄ κ·Έλ£Ή μ°μ°μ ``()``λ₯Ό νμ©νλ κ²μ΄ μ’μ΅λλ€.
'π Jero's Review > λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
09μ₯. νμ λ³νκ³Ό λ¨μΆ νκ° (0) | 2025.02.13 |
---|---|
08μ₯. μ μ΄λ¬Έ (0) | 2025.02.12 |
06μ₯. λ°μ΄ν° νμ (2) | 2025.02.12 |
05μ₯. ννμκ³Ό λ¬Έ (0) | 2025.02.11 |
04μ₯. λ³μ (0) | 2025.02.11 |