ν λΉ μ°μ°μλ μ€λ₯Έμͺ½ νΌμ°μ°μμ κ°μ μΌμͺ½ νΌμ°μ°μμ ν λΉνλ€.
κΈ°λ³Έμ μΈ ν λΉ μ°μ°μλ μ€λ₯Έμͺ½μ νΌμ°μ°μ κ°μ μΌμͺ½ νΌμ°μ°μ κ°μ ν λΉνλ λ±νΈ(=
)λ‘, x = y
λ y
μ κ°μ x
μ ν λΉνλ€.
μ°μ°κ³Ό ν λΉμ λμμ μννλ λ³΅ν© ν λΉ μ°μ°μλ μλ€.
x +=y
, x >>=y
, x &&=y
μ°μ μ°μ°μλ νΌμ°μκ° μ«μμΈ μ°μ°μμ΄λ©° λͺ¨λ μ°μ μ°μ°μ 64λΉνΈ λΆλμμμ μ°μ°μΌλ‘ μ΄λ€μ§λ€.
+
, -
, *
, /
, %
(λλ¨Έμ§), **
(κ±°λμ κ³±)
7/2 β 3.5
%
μ νΌμ°μ°μλ λΆλμμμ , 5/1.5 β 0.5
Infinity
λ₯Ό λ°ν+
μ°μ°μλ νΌμ°μ°μ μ€ νλκ° λ¬Έμμ΄μ΄λ©΄ λλ¨Έμ§ νΌμ°μ¬μλ₯Ό λ¬Έμμ΄λ‘ λ§λ¦, 1 + "2month" β "12month"
true
= 1
, false
= 0
undefined
λ NaN
μΌλ‘ νκ°0/0 // NaN(κ³μ°ν μ μμ)
"one"*1 // NaN(κ³μ°ν μ μμ)
true+true // 2(λ
Όλ¦¬κ°μ νμ
μ μ«μλ‘ λ°κΎΈμ΄ λν¨)
1+null // 1(nullμ 0μΌλ‘ λ°κΎΈμ΄ λν¨)
1+undefined // NaN(undefinedλ₯Ό NaNμΌλ‘ λ°κΎΈμ΄ λν¨)
π JavaScriptμ μ«μλ IEEE754λ‘ κ·μ‘λ 64λΉνΈμ λΆλμμμ μ΄λ€.
- μ κ·κ²©μμ κ°μ λΆλΆμ 1.ddd...dλΌκ³ νννλ©°, ddd...dλΆλΆμ΄ 52λΉνΈλ₯Ό μ°¨μ§νλ€. μ¦, κ°μ λΆλΆμ μ ν¨ν μλ¦Ώμκ° 2μ§μ 53μ리μ΄λ―λ‘ 10μ§μμ μλ¦Ώμλ 253 = 1015.95λ‘ μ½ 16μλ¦¬κ° λλ€.
- μ«μλ₯Ό μλ¦Ώμκ° μ ν΄μ§ λΆλμμμ μΌλ‘ νννμ¬ κ³μ°νλ©΄ μ€μ°¨κ° λ°μνλλ° μ΄κ²μ 'μ νλ λ¬Έμ 'λΌκ³ νλ€.
- κ²°κ³Όλ₯Ό 보면 μ ν¨ μλ¦Ώμκ° 16μ리μμ 12μλ¦¬λ‘ μ€μ΄λ κ²μ νμΈν μ μλ€. μ΄λ κ² κ°μ΄ κ°κΉμ΄ λ μλ₯Ό λΊμ ν λ μ νλ λ¬Έμ κ° λ°μλλλ° μ΄λ₯Ό 'μ λ°λ μμ€'μ΄λΌκ³ νλ€.
- 10μ§μλ‘ λ± λ¨μ΄μ§λ κ°λ 2μ§μλ‘ μ°μ°νκΈ° λλ¬Έμ κ³μ° κ²°κ³Όκ° μ΄κΈλλ€.
console.log(0.16 / 0.2) // 0.7999999999999999 // μ€μ κ³μ° κ²°κ³Ό κ°μ 0.8 console.log(0.16 / 0.2 == 0.8) // false //ν΄κ²°λ°©λ² console.log((Math.abs(0.16/0.2 - 0.8))< 1e-10); // true
λ¨ν μ°μ°μλ λͺ¨λκ° λΆμ¬κ° μλ μ°μ°μμ΄λ©° νΌμ°μ¬μλ μ’λ³μ μμ΄μΌ νλ€.
μ°μ°μ | μ΄λ¦(λ») | μμ | |
---|---|---|---|
++ | μ¦κ° μ°μ°μ | ++a, a++ | |
-- | κ°μ μ°μ°μ | --a, a-- | |
+ | νΌμ°μ°μκ° μ«μ νμ μ΄ μλλ©΄ μ«μλ‘ λ³νμ μλ | +"3" | 3μ λ°ν |
- | λΆνΈ λ°μ | -a | νΌμ°μ°μμ λΆνΈλ₯Ό λ°λλ‘ λ°κΎΌ κ°μ λ°ν, a κ° 3μΌ λ, -a λ -3μ λ°ν |
μ¦κ° μ°μ°μμ κ°μ μ°μ°μλ νΌμ°μ¬μλ₯Ό μμ νκΈ°νλ μ μ νκΈ°λ² μ μ¬μ©νλλ λ€μ νκΈ°νλ νμ νκΈ°λ² μ μ¬μ©νλλμ λ°λΌ νΌμ°μ¬μλ₯Ό νκ°νλ μμ μ΄ λ¬λΌμ§λ€.
(a++)++ // ReferenceError
num = 1;
console.log(++num); // 2
num = 1;
console.log(num++); // 1, 1μ΄ μΆλ ₯λκ³ numμ + 1μ λν¨
console.log(num++ + 3); // 5, num + 3λ₯Ό κ³μ°νμ¬ μΆλ ₯νκ³ numμ + 1μ λν¨
π μ’λ³ κ°μ΄λ λμ μ°μ°μμ μΌμͺ½μ λ μ μλ ννμμ λ§νλ€. JSμμλ λ³μ, κ°μ²΄μ νλ‘νΌν°, λ°°μ΄ μμλ₯Ό μ’λ³ κ°μΌλ‘ λ μ μλ€.
μ°μ λμ
μ°μ°μλ λμ
μ°μ°μ(=
)μ μ°μ μ°μ¬μλ₯Ό μ‘°ν©νμ¬ κ°λ΅νκ² νκΈ°ν κ²μ΄λ€.
μ°μ°μ | μμ | |
---|---|---|
+= | a += b | a = a + b |
-= | a -= b | a = a - b |
*= | a *= b | a = a * b |
/= | a /= b | a = a / b |
%= | a %= b | a = a % b |
π Math λ μνμ μΈ μμμ ν¨μλ₯Ό μν μμ±κ³Ό λ©μλλ₯Ό κ°μ§ λ΄μ₯ κ°μ²΄μ΄λ©°, κΈ°λ³Έμ μΈ μ°μ μ°μ°κ³Ό 볡μ‘ν μνμ μ°μ°μ μ§μνλ€.
Number
μλ£νλ§ μ§μνλ©°BigInt
μλ μ¬μ©ν μ μλ€.- λ€λ₯Έ μ μ κ°μ²΄μ λ¬λ¦¬ Mathλ μμ±μκ° μλλ©°, Mathμ λͺ¨λ μμ±κ³Ό λ©μλλ μ μ μ΄λ€.
- νμ΄ μμλ
Math.PI
λ‘ μ°Έμ‘°ν μ μκ³ , μ¬μΈ ν¨μλ λ§€κ°λ³μ xμ λν΄Math.sin(x)
μ κ°μ΄ νΈμΆν μ μλ€.- μμλ JavaScriptμμ κ°λ₯ν μ΅λ μ€μ μ λ°λλ‘ μ μλμ΄ μλ€.
μ°Έκ³ λ¬Έν,
μ΄μ νλ‘μ, γλͺ¨λ μλ°μ€ν¬λ¦½νΈ μ λ¬Έγ, μμ¬μ μ, κΈΈλ², 2019
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_operators