πΈ07μ₯. μ°μ°μ
**μ°μ°μ** : νλ μ΄μμ ννμμ λμμΌλ‘ μ°μ , ν λΉ, λΉκ΅, λ
Όλ¦¬, νμ
, μ§μ μ°μ° λ±μ μνν΄ νλμ κ°μ λ§λλ κ²
**νΌμ°μ°μ** : μ°μ°μ λμ. κ°μΌλ‘ νκ°λ μ μλ ννμ
β
7.1 μλ°μ€ν¬λ¦½νΈκ° μ 곡νλ λ€μν μ°μ°μ
μ°μ μ°μ°μ(arithmetic operator)
νΌμ°μ°μλ₯Ό λμμΌλ‘ μνμ κ³μ°μ μνν΄ μλ‘μ΄ μ«μ κ°μ λ§λ λ€.
λΆκ°λ₯ν κ²½μ° **NaN**μ λ°ννλ€.
μ΄ν μ°μ μ°μ°μ :
+
,-
,*
,/
,%
λ¨ν μ°μ μ°μ°μ :
++
,--
,+
(λ³ν x),-
(μμβμμ, μμβμμ)λ¬Έμμ΄ μ°κ²° μ°μ°μ :
+
(μ°κ²°)μ¦κ°/κ°μ(
++
/--
)μ°μ°μλνΌμ°μ°μμ κ°μ λ³κ²½νλ λΆμν¨κ³Ό
κ° μ‘΄μ¬νλ€. μ¦, νΌμ°μ°μμ κ°μ λ³κ²½νλ μ묡μ ν λΉμ΄ μ΄λ£¨μ΄μ§λ€. κ·Έ μΈ λλ¨Έμ§λ λΆμν¨κ³Όκ° μ‘΄μ¬νμ§ μλλ€.λν, μ¦κ°/κ°μ μ°μ°μλ μμΉμ μλ―Έκ° μλ€.
var x = 5, result; // μ ν λΉ νμ¦κ°(postfix increment operator) result = x++; console.log(result, x); // 5 6 // μ μ¦κ° νν λΉ(prefix increment operator) result = ++x; console.log(result, x); // 7 7 // μ ν λΉ νκ°μ(postfix decrement operator) result = x--; console.log(result, x); // 7 6 // μ κ°μ νν λΉ (prefix decrement operator) result = --x; console.log(result, x); // 5 5
ν λΉ μ°μ°μ(assignment operator)
μ°νμ μλ νΌμ°μ°μμ νκ³Ό κ²°κ³Όλ₯Ό μ’νμ μλ λ³μμ ν λΉνλ€. (λΆμν¨κ³Ό O)
=
,+=
,-=
,*=
,/=
,%=
λΉκ΅ μ°μ°μ(comparison operator)
μ’νκ³Ό μ°νμ νΌμ°μ°μλ₯Ό λΉκ΅ν λ€μ κ·Έ κ²°κ³Όλ₯Ό λΆλ¦¬μΈ κ°μΌλ‘ λ°ννλ€.
λλ±/μΌμΉ λΉκ΅ μ°μ°μ :
==
,===
,!=
,!==
λμκ΄κ³ λΉκ΅ μ°μ°μ :
>
,<
,>=
,<=
λλ±λΉκ΅(loose equality)μ μΌμΉλΉκ΅(strict equality) μ°μ°μ
μ’νκ³Ό μ°νμ νΌμ°μ°μκ° κ°μ κ°μΌλ‘ νκ°λλμ§ λΉκ΅ν΄ λΆλ¦¬μΈ κ°μ λ°ννλ μ°μ°μ.
**λΉκ΅νλ μ격μ±μ μ°¨μ΄κ° μλ€.**
λλ± λΉκ΅ μ°μ°μ(
==
)λ μ’νκ³Ό μ°νμ λΉκ΅ν λ λ¨Όμ μ묡μ νμ λ³ν
μ ν΅ν΄ νμ μ μΌμΉμν¨ ν κ°μ κ°μΈμ§ λΉκ΅νλ€.λ°λ©΄μ μΌμΉ λΉκ΅ μ°μ°μ(
===
)λ νμ λ κ°κ³ κ°λ κ°μ κ²½μ°μ νν΄true
λ₯Ό λ°ννλ€.
console.log(5 == "5"); // true
console.log(5 === "5"); // false
console.log(5 === 5); // true
NaN, +0 & -0, Object.is() ν¨μ
NaNμ μμ κ³Ό μΌμΉνμ§ μλ μ μΌν κ°μ΄κΈ° λλ¬Έμ μ«μκ° NaNμΈμ§ μ‘°μ¬νλ €λ©΄ λΉνΈμΈ ν¨μ
Number.isNaN
μ μ¬μ©ν΄μΌνλ€.+0κ³Ό -0μ΄ μ‘΄μ¬νμ§λ§, λΉκ΅ μ°μ°μ μ¬μ©μ, trueλ₯Ό λ°ννλ€.
λ°λ©΄μ,
Object.is()
λ©μλλ μμΈ‘ κ°λ₯ν μ νν λΉκ΅ κ²°κ³Όλ₯Ό λ°ννκΈ° λλ¬Έμ +0, -0μ ꡬλΆνλ€.
console.log(NaN === NaN); // false
console.log(Number.isNaN(NaN)); // true
console.log(0 === 0); // true
console.log(+0 === -0); // true
console.log(Object.is(+0, -0)); // false
μΌν쑰건 μ°μ°μ(ternary operator)
쑰건μ ? 쑰건μμ΄ trueμΌ λ λ°ννλ κ° : 쑰건μμ΄ falseμΌ λ λ°ννλ κ°
쑰건μ : λΆλ¦¬μΈ νμ μ κ°μΌλ‘ νκ°λ ννμμΌλ‘, νμ μ΄ λ€λ₯Ό κ²½μ° λΆλ¦¬μΈ κ°μΌλ‘ μ묡μ νμ λ³ν λλ€.
쑰건μ λ°λΌ μ΄λ€ κ°μ κ²°μ ν΄μΌ νλ€. β
μΌν μ°μ°μ ννμ
μ μ¬μ©νλ νΈμ΄ μ 리쑰건μ λ°λΌ μνν΄μΌ ν λ¬Έμ΄ νλκ° μλλΌ μ¬λ¬κ°λ€. β
if ~ else λ¬Έ
μ΄ λ κ°λ μ± μΈ‘λ©΄μμ μ 리
λ
Όλ¦¬ μ°μ°μ(logical operator)
μ°νκ³Ό μ’νμ νΌμ°μ°μ(λΆμ λ
Όλ¦¬ μ°μ°μμ κ²½μ° μ°νμ νΌμ°μ°μ)λ₯Ό λ
Όλ¦¬ μ°μ°
λ Όλ¦¬ν©(
||
), λ Όλ¦¬κ³±(&&
), λΆμ (!
)λ Όλ¦¬λΆμ μ°μ°μλ μΈμ λ λΆλ¦¬μΈ κ° λ°ν(μ묡μ νμ λ³ν μν)
λ Όλ¦¬ν©, λ Όλ¦¬κ³± μ°μ°μλ νκ° κ²°κ³Όκ° λΆλ¦¬μΈ κ°μ΄ μλ μλ μμ (
λ¨μΆνκ°
)ex)
'Cat' && 'Dog';
μ κ²°κ³Όλ βDogβ
μΌν μ°μ°μ(,)
μΌμͺ½ νΌμ°μ°μλΆν° μ°¨λ‘λλ‘ μ°μ°μλ₯Ό νκ°νκ³ λ§μ§λ§ νκ° κ²°κ³Όλ₯Ό λ°ννλ€.
var x, y, z;
console.log((x = 1), (y = 2), (z = 3)); // 3
κ·Έλ£Ή μ°μ°μ
μ°μ°μμ μ°μ μμλ₯Ό μ‘°μ ν μ μλ€.
typeof μ°μ°μ
νΌμ°μ°μμ λ°μ΄ν° νμ
μ λ¬Έμμ΄λ‘ λ°ννλ€.
μ΄ 7κ°μ§ λ¬Έμμ΄ ννλ‘ λ°ν
string
number
boolean
undefined
symbol
object
function
nullλ‘ λ°ννλ κ²½μ°λ μλ€. κ°μ΄ nullμΈμ§ νμΈνκ³ μΆμΌλ©΄
===
μ¬μ©νκΈ°
μ§μ μ°μ°μ(exponent operator)
μ§μ μ°μ°μλ x**y (x : λ°, y: μ§μ)
μ§μ μ°μ°μκ° λμ λκΈ° μ΄μ μλ Math.pow(x,y) λ©μλλ₯Ό μ¬μ©νλ€.
Math.pow(2, 2);
// μ§μμ°μ°μλ
2 ** (2(-5) ** 2);
κ·Έ μΈ μ°μ°μ
?.
μ΅μ λ 체μ΄λ μ°μ°μ
??
null λ³ν© μ°μ°μ
delete
νλ‘νΌν° μμ
new
μμ±μ ν¨μλ₯Ό νΈμΆν λ μ¬μ©νμ¬ μΈμ€ν΄μ€ μμ±
instanceof
μ’λ³μ κ°μ²΄κ° μ°λ³μ μμ±μ ν¨μμ μ°κ²°λ μΈμ€ν΄μ€μΈμ§ νλ³
in
νλ‘νΌν° μ‘΄μ¬ νμΈ
λΆμν¨κ³Όκ° μλ μ°μ°μ
λλΆλΆμ μ°μ°μλ λ€λ₯Έ μ½λμ μν₯μ μ£Όμ§ μλλ€. (κ°μ μμ±ν λΏ)
μΌλΆ μ°μ°μλ **λ€λ₯Έ μ½λμ μν₯μ μ€λ€**. μ΄λ₯Ό **λΆμν¨κ³Ό**λΌκ³ νλ€.
ν λΉ μ°μ°μ(
=
), μ¦κ°/κ°μ μ°μ°μ(++
/--
),delete
μ°μ°μ
β
7.2 μ묡μ νμ
λ³ν(implicit coercion)(=νμ
κ°μ λ³ν)
κ°λ°μμ μλμλ μκ΄μμ΄ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ νμ
μ΄ μλλ³νλλ νμ
// number + string μ°μ° κ²½μ°
"1" + 2; // '12'
1 + "2"; // '12'
// boolean + number μ°μ° κ²½μ°
1 + true; // 2
1 + false; // 1
// number + null μ°μ° κ²½μ°
1 + null; // 1
// number + undefined μ°μ° κ²½μ°
1 + undefined; // NaN ( μ°μ° λΆκ°λ₯ )
Last updated