ν°μ€ν 리 λ·°
[JavaScript] μ°μ°μ
κ°λ°κ°κ΅΄πΈ 2022. 7. 15. 15:33μ°μ°μμ νΌμ°μ°μλ?
μλ°μ€ν¬λ¦½νΈμ μ°μ°μμ λν΄ μμ보기μ , μ°μ°μμ νΌμ°μ°μμ λν μ μλ₯Ό λ¨Όμ ν΄λ³΄κ² μ΅λλ€.
μ©μ΄ | μ€λͺ |
μ°μ°μ(Operator) | νλ μ΄μμ ννμμ λμμΌλ‘ μ°μ , ν λΉ, λΉκ΅, λ Όλ¦¬, νμ , μ§μ μ°μ° λ±μ μννλ κΈ°νΈ |
νΌμ°μ°μ(Operand) | μ°μ°μ μ°Έμ¬νλ κ°μΌλ‘ νκ°λ μ μλ λͺ¨λ ννμ(λ³μ, μμ λ±)μΌλ‘ μ°μ°μ λμ |
μλ₯Ό λ€μ΄μ 3 + 7 μ°μ°μ΄ μ£Όμ΄μ§λ€λ©΄, 3κ³Ό7μ νΌμ°μ°μκ³ +κ° μ°μ°μκ° λ©λλ€.
μ°μ°μ λΆμν¨κ³Όλ?
λΆμν¨κ³Όλ νΌμ°μ°μμ κ°μ λ³κ²½νλ λ± λ€λ₯Έ μ½λμ μν₯μ μ£Όλ κ²μ λ§ν©λλ€. λλΆλΆμ μ°μμλ λΆμν¨κ³Όκ° μμΌλ, ν λΉ μ°μ°μ(=), μ¦κ°/κ°μ μ°μ°μ(++/--), deleteμ°μ°μλ λΆμν¨κ³Όκ° μμ΅λλ€.
μ°μ μ°μ°μ
νΌμ°μ°μλ₯Ό λμμΌλ‘ μνμ κ³μ°μ μνν΄ μλ‘μ΄ μ«μ κ°μ λ§λλλ€. λ§μ½, λΆκ°λ₯ν κ²½μ° NaNμ λ°νν©λλ€.
λ¨ν μ°μ μ°μ°μ (1κ°μ νΌμ°μ°μ)
λ¨ν μ°μ μ°μ°μ | μλ―Έ | λΆμ ν¨κ³Ό |
++ | μ¦κ° | O |
-- | κ°μ | O |
+ | μ΄λ ν ν¨κ³Όλ μμ | X |
- | μμμ μμλ₯Ό μλ‘ λ°μ ν κ°μ λ°ν | X |
var num = 1;
num++; // num = num + 1 = 2
μ΄ν μ°μ μ°μ°μ (2κ°μ νΌμ°μ°μ)
μ΄ν μ°μ μ°μ°μ | μλ―Έ | λΆμ ν¨κ³Ό |
+ | λ§μ | X |
- | λΊμ | X |
* | κ³±μ | X |
/ | λλμ | X |
% | λλ¨Έμ§ | X |
λ¬Έμμ΄ μ°κ²° μ°μ°μ
+ μ°μ°μλ νΌμ°μ°μ μ€ νλ μ΄μμ΄ λ¬Έμμ΄μΈ κ²½μ° λ¬Έμμ΄ μ°κ²° μ°μ°μλ‘ λμν©λλ€. μλμ μμμ κ°μ΄ μλ°μ€ν¬λ¦½νΈ μμ§μ μ묡μ μΌλ‘(κ°μ μ μΌλ‘)νμ μ λ³νν©λλ€.
'1' + 2; // '12'
1 + '2'; // '12'
1 + true; // 2 (true μ 1λ‘ νμ
λ³ν)
1 + null; // 1 (null μ 0μΌλ‘ νμ
λ³ν)
+undefined; // NaN
1 + undefined; // NaN
ν λΉ μ°μ°μ
ν λΉ μ°μμ¬λ μ°νμ μλ νΌμ°μ°μμ νκ° κ²°κ³Όλ₯Ό μ’νμ μλ λ³μμ ν λΉν©λλ€. μ΄λ μ’νμ λ³μμ κ°μ ν λΉνλ―λ‘ λ³μ κ°μ΄ λ³νλ λΆμ ν¨κ³Όκ° μμ΅λλ€.
ν λΉ μ°μ°μ | μ | λμΌ νν | λΆμ ν¨κ³Ό |
= | x = 5 | x = 5 | O |
+= | x += 5 | x = x + 5 | O |
-= | x -= 5 | x = x - 5 | O |
*= | x *= 5 | x = x * 5 | O |
/= | x /= 5 | x = x / 5 | O |
%= | x %= 5 | x = x % 5 | O |
μ°μ ν λΉ
μ€μ κ°λ°μ μ§ννλ€λ³΄λ©΄ μ½λλ₯Ό κΉλνκ² λ§λ€κΈ° μν΄ ν λΉ μ°μ°μλ₯Ό λ§μ΄ νμ©νκ² λλκ² κ°μ΅λλ€. λν μ°μ ν λΉμ ν΅ν΄ νλ²μ μ¬λ¬ λ³μμ λμΌν κ°μ ν λΉν΄ μ½λ λΌμΈμ λ¨μΆμν¬ μ μμ΅λλ€.
// μ°μ ν λΉ μμ
var a, b, c;
a = b = c = 0;
console.log(a,b,c); // 0 0 0
λΉκ΅ μ°μ°μ
μ’νκ³Ό μ°νμ νΌμ°μ°μλ₯Ό λΉκ΅ν λ€μ κ·Έ κ²°κ³Όλ₯Ό booleanκ°μΌλ‘ λ°νν΄μ€λλ€. μ£Όλ‘ ifλ¬Έ, forλ¬Έκ³Ό κ°μ μ μ΄λ¬Έμ 쑰건μμμ μ¬μ©λ©λλ€.
λλ±/μΌμΉ λΉκ΅ μ°μ°μ
μ’μ°νμ νΌμ°μ°μκ° κ°μ κ°μΌλ‘ νκ°λλμ§ λΉκ΅ν΄ λΆλ¦¬μΈ κ°μ λ°νλλ°, λΉκ΅νλ μ격μ±μ μ λμ λ°λΌ λλ μ μμ΅λλ€.
λΉκ΅ μ°μ°μ | μλ―Έ | μ¬λ‘ | μ€λͺ | λΆμ ν¨κ³Ό |
== | λλ± λΉκ΅ | x == y | xμ yμ κ°μ΄ κ°μ | X |
=== | μΌμΉ λΉκ΅ | x === y | xμ yμ κ°κ³Ό νμ μ΄ κ°μ | X |
!= | λΆλλ± λΉκ΅ | x != y | xμ yμ κ°μ΄ λ€λ¦ | X |
!== | λΆμΌμΉ λΉκ΅ | x !== y | xμyμ κ°κ³Ό νμ μ΄ λ€λ¦ | X |
** NaNμ μμ κ³Ό μΌμΉνμ§ μλ μ μΌν κ°μ΄λ―λ‘ NaN === NaN μ falseκ° λ¨. λ°λΌμ Number.isNaN()ν¨μλ₯Ό νμ©ν¨
λμ κ΄κ³ λΉκ΅ μ°μ°μ
νΌμ°μ°μλ€μ ν¬κΈ°λ₯Ό λΉκ΅νμ¬ booleanκ°μ λ°νν©λλ€.
λμ κ΄κ³ λΉκ΅ μ°μ°μ | μμ | μ€λͺ | λΆμ ν¨κ³Ό |
> | x > y | xκ° yλ³΄λ€ ν¬λ€ | X |
< | x < y | xκ° yλ³΄λ€ μλ€ | X |
>= | x >= y | xκ° yλ³΄λ€ ν¬κ±°λ κ°λ€ | X |
<= | x <= y | xκ° yλ³΄λ€ μκ±°λ κ°λ€ | X |
μΌν 쑰건 μ°μ°μ
쑰건μμ νκ° κ²°κ³Όμ λ°λΌ λ°νν κ°μ κ²°μ νλ μΌν 쑰건 μ°μ°μλ μλ°μ€ν¬λ¦½νΈμ μ μΌν μΌν μ°μ°μμ΄λ©° λΆμν¨κ³Όκ° μμ΅λλ€.
쑰건μ ? 쑰건μμ΄ true μΌ λ λ°ν κ° : 쑰건μμ΄ falseμΌ λ λ°ν κ° |
var x = 2;
// 2 % 2 λ 0μ΄λ―λ‘ falseλ‘ μΈμλ¨
var result = x % 2 ? 'νμ' : 'μ§μ'; // μ§μ
λ Όλ¦¬ μ°μ°μ
μ’μ°νμ νΌμ°μ°μλ₯Ό λ Όλ¦¬ μ°μ°ν©λλ€.
λ Όλ¦¬ μ°μ°μ | μλ―Έ | λΆμ ν¨κ³Ό |
|| | λ Όλ¦¬ν©(OR) | X |
&& | λ Όλ¦¬κ³±(AND) | X |
! | λΆμ (NOT) | X |
μΌν μ°μ°μ
μΌμͺ½ νΌμ°μ°μλΆν° μ°¨λ‘λλ‘ νΌμ°μ°μλ₯Ό νκ°νκ³ λ§μ§λ§ νΌμ°μ°μμ νκ°κ° λλλ©΄ λ§μ§λ§ νΌμ°μ°μμ νκ° κ²°κ³Όλ₯Ό λ°νν©λλ€.
var x, y, z;
x = 1, y = 2, z = 3; // 3
κ·Έλ£Ή μ°μ°μ
μκ΄νΈ '()' λ‘ νΌμ°μ°μλ₯Ό κ°μΈλ©΄, ν΄λΉ ννμμ κ°μ₯ λ¨Όμ νκ°νκ² λκ³ μ΄λ₯Ό κ·Έλ£Ή μ°μ°μλΌκ³ ν©λλ€.
10 * 2 + 3; // 23
10 * (2 + 3); // 50
typeof μ°μ°μ
νΌμ°μ°μμ λ°μ΄ν° νμ μ λ¬Έμμ΄λ‘ λ°νν΄μ€λλ€. typeofμ°μ°μλ 7κ°μ§ λ¬Έμμ΄ "string", "number", "boolean", "undefined", "symbol", "object", "function" μ€ 1κ°λ₯Ό λ°νκ°μΌλ‘ κ°μ§λλ€.
typeof ''; // "string"
typeof NaN; // "number"
typeof null; // "object"
typeof function () {}; // "function"
μ§μ μ°μ°μ
ES7μμ λμ λ μ°μ°μλ‘ μ’νμ νΌμ°μ°μλ₯Ό λ°(base)λ‘, μ°νμ νΌμ°μ°μλ₯Ό μ§μ(exponent)λ‘ μ¬μ©νμ¬ κ±°λ μ κ³±μ μνν©λλ€.
2 ** 2; // 4
2 ** 2.5 // 5.65685424949238
// μ΄ν μ°μ°μ μ€μμ μ§μ μ°μ°μκ° κ°μ₯ μ°μ μμκ° λμ
2 * 5 ** 2; // 50
μμ μκ°ν μ°μ°μ μΈμλ ?., ??, delete, new, instanceof, in λ± λ€μν μ°μ°μκ° μ‘΄μ¬νμ§λ§ μ΄λ μΆνμ μ€λͺ νλλ‘ νκ² μ΅λλ€.
[μΆμ²] λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive
'JavaScript > λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] νμ λ³νκ³Ό λ¨μΆ νκ° (0) | 2022.07.15 |
---|---|
[JavaScript] μ μ΄λ¬Έ (0) | 2022.07.15 |
[JavaScript] λ°μ΄ν° νμ (0) | 2022.07.14 |
[JavaScript] λ³μ (0) | 2022.07.13 |
[JavaScript] μλ°μ€ν¬λ¦½νΈ κ°λ° νκ²½ (0) | 2022.07.12 |
- Total
- Today
- Yesterday
- νλ‘νΌν°
- Baekjoon
- μ½λ©ν μ€νΈ
- λ μ컬 νκ²½
- μ΄μ체μ
- ν¨μν νλ‘κ·Έλλ°
- fp
- λ€μ΄λλ―Ή νλ‘κ·Έλλ°
- λ°±μ€ javascript
- λͺ¨λ μλ°μ€ν¬λ¦½νΈ deep dive
- μλ°μ€ν¬λ¦½νΈ
- git
- νλ‘κ·Έλλ¨Έμ€
- μκ³ λ¦¬μ¦
- μΉ΄μΉ΄μ€ μΈν΄
- λμμΈ ν¨ν΄
- ν¬ν¬μΈν°
- μλ°
- JavaScript
- 2019 μΉ΄μΉ΄μ€ κ°λ°μ κ²¨μΈ μΈν΄
- map
- λ€νΈμν¬
- μ μ λ³μ
- κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
- TDD
- νλ‘ν μ½
- http
- λ°±μ€ node.js
- μ΄λΆνμ
- λ°±μ€
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |