wa_ter_ve
Javascript 1-4 μ°μ°μ λ³Έλ¬Έ
π 1. μ°μ μ°μ°μ (Arithmetic Operators)
+ : λ§μ
- : λΊμ
* : κ³±μ
/ : λλμ
% : λλ¨Έμ§ μ°μ° (λλμ μ λλ¨Έμ§λ₯Ό λ°ν)
++ : μ¦κ° μ°μ°μ (κ°μ 1 μ¦κ°)
-- : κ°μ μ°μ°μ (κ°μ 1 κ°μ)
π 2. ν λΉ μ°μ°μ (Assignment Operators)
= : κ° ν λΉ
+= : λ§μ ν ν λΉ ( x = x+2λ x += 2μ κ°μ )
-= : λΊμ ν ν λΉ
*= : κ³±μ ν ν λΉ
/= : λλμ ν ν λΉ
%= : λλ¨Έμ§ ν ν λΉ
π 3. λΉκ΅ μ°μ°μ (Comparison Operators)
- λ κ°μ λΉκ΅νμ¬ true/false λ°ν
== : κ°μ΄ κ°μκ°? (μλ ν λ³ν νμ©)
=== : κ°κ³Ό νμ μ΄ λͺ¨λ κ°μκ°? (μ격ν λΉκ΅)
!= : κ°μ΄ λ€λ₯Έκ°?
!== : κ°κ³Ό νμ μ΄ λͺ¨λ λ€λ₯Έκ°?
> / < : ν¬κ±°λ/μμκ°?
>= / <= : μ΄μ/μ΄νμΈκ°?
console.log(5 == '5'); // true (μλ ν λ³ν)
console.log(5 === '5'); // false (νμ
λΆμΌμΉ)
console.log(5 != '5'); // false (μλ ν λ³ν νμ κ° μΌμΉ)
console.log(5 !== '5'); // true (νμ
λΆμΌμΉ)
console.log(5 > 3); // true
console.log(5 <= 5); // true
π 4. λ Όλ¦¬ μ°μ°μ (Logical Operators)
- λΆλ¦¬μΈ κ°κ³Ό ν¨κ» μ¬μ©, true/false λ°ν
&& : λ Όλ¦¬ AND (λͺ¨λ μ‘°κ±΄μ΄ μ°ΈμΌ λ true λ°ν)
|| : λ Όλ¦¬ OR (νλ μ΄μμ μ‘°κ±΄μ΄ μ°ΈμΌ λ true λ°ν)
! : λ Όλ¦¬ NOT (κ°μ λ°λλ‘ λ°κΏ)
let a = true;
let b = false;
console.log(a && b); // false (λ μ€ νλκ° falseλ©΄ false)
console.log(a || b); // true (νλλ§ trueλ©΄ true)
console.log(!a); // false (aκ° trueμ΄λ―λ‘ λ°λκ° false)
π 5. μΌν μ°μ°μ (Ternary Operator)
- 쑰건 ? μ°ΈμΌ λ κ° : κ±°μ§μΌ λ κ°
let age = 19;
let status = (age >= 19) ? "μ±μΈ. μ£Όλ₯ ν맀 κ°λ₯." : "λ―Έμ±λ
μ. μ£Όλ₯ ν맀 λΆκ°λ₯";
console.log(status);
μ±μΈ. μ£Όλ₯ ν맀 κ°λ₯.
π 6. νμ μ°μ°μ (Type Operators)
- typeof : λ³μ λλ κ°μ λ°μ΄ν° νμ μ λ°ν
- instanceof : κ°μ²΄κ° νΉμ ν΄λμ€μ μΈμ€ν΄μ€μΈμ§ νμΈ
π 7. λΉνΈ μ°μ°μ (Bitwise Operators)
- 2μ§μ λΉνΈ λ¨μλ‘ μ°μ° μν
& : λΉνΈ AND
| : λΉνΈ OR
^ : λΉνΈ XOR
~ : λΉνΈ NOT
<< : μΌμͺ½ μννΈ
>> : μ€λ₯Έμͺ½ μννΈ
>>> : λΆνΈ μλ μ€λ₯Έμͺ½ μννΈ
π μλ°μ€ν¬λ¦½νΈμ νΉμ±
→ μλ°μ€ν¬λ¦½νΈμμ λλ± μ°μ°μ(==)λ 'ν λ³ν'μ μννλλ° μ΄λ‘ μΈν΄ μκΈ΄ λ¬Έμ μ .
β ν λ³ν κ·μΉ
- μ«μμ λ¬Έμμ΄μ λΉκ΅ν λ, λ¬Έμμ΄μ μ«μλ‘ λ³ν.
- νΌμ°μ°μ μ€ νλκ° Boolean νμ μΌ κ²½μ°, trueλ 1λ‘ falseλ 0λ‘ λ³ν.
- κ°μ²΄μ μ«μ/λ¬Έμμ΄μ λΉκ΅ν κ²½μ°, κ°μ²΄λ₯Ό valueOf()λ toString()μΌλ‘ λ³ν. (μ°Έμ‘°νμ μ«μ, λ¬Έμμ΄ λ± κΈ°λ³ΈνμΌλ‘ λ³νν μ μλ λ©μλλ€ μ¬μ©)
0 == "0" // true
μ«μ νμ κ³Ό λ¬Έμμ΄ νμ μ¬μ΄μ λΉκ΅
μλ°μ€ν¬λ¦½νΌμ ν λ³νμ μν΄ λ¬Έμμ΄ "0"μ΄ μ«μ 0μΌλ‘ λ³νλ¨.
0 == 0
λ°λΌμ μ«μν 0 λ κ°μ μλ‘ κ°μ΄ κ°κΈ°μ true
0 == [ ] // true
μ«μ νμ κ³Ό λΉ λ°°μ΄ νμ μ¬μ΄μ λΉκ΅
μλ°μ€ν¬λ¦½νΈλ λΉ λ°°μ΄μ μ«μλ‘ λ³ν ν λ, λ¬Έμμ΄λ‘ λ³ν ν μ«μλ‘ λ³νν¨.
λΉ λ°°μ΄ [ ] → λΉ λ¬Έμμ΄ " " → μ«μ 0
0 == 0
λ°λΌμ μ«μν 0 λ κ°μ μλ‘ κ°μ΄ κ°κΈ°μ true
"0" == [ ] // false
λ¬Έμμ΄κ³Ό μ°Έμ‘°ν(λ°°μ΄) μ¬μ΄μ λΉκ΅
λΉ λ°°μ΄ [ ] → λΉ λ¬Έμμ΄ " " λ³ν.
"0" == " "
λ¬Έμ νμ 0κ³Ό λΉ λ¬Έμμ΄ " "μ κ°μ΄ κ°μ§ μκΈ°μ false
* === μ°μ°μλ‘ μννμ μμλ, λͺ¨λ false (ν λ³ν μ μ©X)
(0.1 + 1.1 == 1.2) // false
Why?
→ λΆλ μμμ μ λ°λ λ¬Έμ
μλ°μ€ν¬λ¦½νΈμ μ«μ μ μ₯ νμ(64λΉνΈ IEEE 754νμ μ¬μ©)μ μμμ μ μ ννκ² νννκΈ°μ νκ³κ° μμ.
μΌλΆ μμλ₯Ό 2μ§μλ‘ ννμ΄ λΆκ°λ₯νμ¬ κ·Όμ¬κ°μΌλ‘ μ μ₯ν¨.
μ μμμμ 보면, 0.1κ³Ό κ°μ μ«μλ 2μ§μλ‘ ννμ΄ λΆκ°λ₯ νμ¬ μ μ₯λλ κ°μ΄ μ νν 0.1μ΄ μλ.
λ°λΌμ μλ°μ€ν¬λ¦½νΈ μμ§ λ΄μμ κ³μ°λ κ°μ΄ μ°λ¦¬κ° μκ°νλ λ΅μΈ 1.2κ³Ό μ°¨μ΄κ° μκΈ°μ κ²°κ³Όμ μΌλ‘ falseκ° λ°νλ κ².
* λΆλ μμμ λ¬Έμ ν΄κ²° λ°©λ²:
μμμ μλ μ€μ°¨ λ²μλ₯Ό μ€μ νμ¬ λΉκ΅.
'κ³΅λΆ > GDG' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Javascript 2 DOM (5) | 2024.10.07 |
---|---|
GDG-WEB 2μ£Όμ°¨ κ³Όμ (0) | 2024.10.01 |
Javascript 1-3 μ μ΄λ¬Έ (0) | 2024.09.30 |
Javascript 1-2 λ³μμ λ°μ΄ν° νμ (0) | 2024.09.29 |
Javascript 1-1 κΈ°λ³Έ κ°λ (0) | 2024.09.29 |