ν°μ€ν 리 λ·°
νμ€ λΉνΈμΈ κ°μ²΄μΈ Mathλ μνμ μΈ μμμ ν¨μλ₯Ό μν νλ‘νΌν°μ λ©μλλ₯Ό μ 곡ν©λλ€. Mathλ μμ±μ ν¨μκ° μλλΌ μ μ νλ‘νΌν°μ μ μ λ©μλλ§ μ 곡ν©λλ€.
Math νλ‘νΌν°
Math.PI
μμ£Όμ¨ PI κ°(π = 3.14159265358979…)μ λ°νν©λλ€.
Math.PI; // -> 3.141592653589793
Math λ©μλ
Math.abs
μΈμλ‘ μ λ¬λ μ«μμ μ λκ°μ λ°νν©λλ€. μ λκ°μ λ°λμ 0 λλ μμμ΄μ΄μΌν©λλ€.
Math.abs(-1); // -> 1
Math.abs('-1'); // -> 1
Math.abs(''); // -> 0
Math.abs([]); // -> 0
Math.abs(null); // -> 0
Math.abs(undefined); // -> NaN
Math.abs({}); // -> NaN
Math.abs('string'); // -> NaN
Math.abs(); // -> NaN
Math.round
μΈμλ‘ μ λ¬λ μ«μμ μμμ μ΄νλ₯Ό λ°μ¬λ¦Όν μ μλ₯Ό λ°νν©λλ€.
Math.round(1.4); // -> 1
Math.round(1.6); // -> 2
Math.round(-1.4); // -> -1
Math.round(-1.6); // -> -2
Math.round(1); // -> 1
Math.round(); // -> NaN
Math.ceil
μΈμλ‘ μ λ¬λ μ«μμ μμμ μ΄νλ₯Ό μ¬λ¦Όν μ μλ₯Ό λ°νν©λλ€. μμμ μ΄νλ₯Ό μ¬λ¦ΌνκΈ° λλ¬Έμ λ ν° μ μκ° λ©λλ€.
Math.ceil(1.4); // -> 2
Math.ceil(1.6); // -> 2
Math.ceil(-1.4); // -> -1
Math.ceil(-1.6); // -> -1
Math.ceil(1); // -> 1
Math.ceil(); // -> NaN
Math.floor
μΈμλ‘ μ λ¬λ μ«μμ μμμ μ΄νλ₯Ό λ΄λ¦Όν μ μλ₯Ό λ°νν©λλ€. λ°λΌμ λ μμ μ μκ° λ©λλ€.
Math.floor(1.9); // -> 1
Math.floor(9.1); // -> 9
Math.floor(-1.9); // -> -2
Math.floor(-9.1); // -> -10
Math.floor(1); // -> 1
Math.floor(); // -> NaN
Math.sprt
μΈμλ‘ μ λ¬λ μ«μμ μ κ³±κ·Όμ λ°νν©λλ€.
Math.sqrt(9); // -> 3
Math.sqrt(-9); // -> NaN
Math.sqrt(2); // -> 1.414213562373095
Math.sqrt(1); // -> 1
Math.sqrt(0); // -> 0
Math.sqrt(); // -> NaN
Math.random
μμμ λμ(λλ€ μ«μ)λ₯Ό λ°νν©λλ€. Math.random λ©μλκ° λ°νν λμλ 0μμ 1λ―Έλ§μ μ€μμ΄κΈ° λλ¬Έμ 0μ ν¬ν¨λμ§λ§ 1μ ν¬ν¨λμ§ μμ΅λλ€.
Math.random(); // 0μμ 1 λ―Έλ§μ λλ€ μ€μ(0.8208720231391746)
/*
1μμ 10 λ²μμ λλ€ μ μ μ·¨λ
1) Math.randomμΌλ‘ 0μμ 1 λ―Έλ§μ λλ€ μ€μλ₯Ό ꡬν λ€μ, 10μ κ³±ν΄ 0μμ 10 λ―Έλ§μ
λλ€ μ€μλ₯Ό ꡬνλ€.
2) 0μμ 10 λ―Έλ§μ λλ€ μ€μμ 1μ λν΄ 1μμ 10 λ²μμ λλ€ μ€μλ₯Ό ꡬνλ€.
3) Math.floorλ‘ 1μμ 10 λ²μμ λλ€ μ€μμ μμμ μ΄νλ₯Ό λΌμ΄ λ²λ¦° λ€μ μ μλ₯Ό λ°ννλ€.
*/
const random = Math.floor((Math.random() * 10) + 1);
console.log(random); // 1μμ 10 λ²μμ μ μ
Math.pow
첫 λ²μ§Έ μΈμλ₯Ό λ°μΌλ‘, λ λ²μ§Έ μΈμλ₯Ό μ§μλ‘ κ±°λμ κ³±ν κ²°κ³Όλ₯Ό λ°νν©λλ€.
Math.pow(2, 8); // -> 256
Math.pow(2, -1); // -> 0.5
Math.pow(2); // -> NaN
// ES7 μ§μ μ°μ°μ
2 ** 2 ** 2; // -> 16
Math.pow(Math.pow(2, 2), 2); // -> 16
*Math.pow λμ ES7μμ λμ λ μ§μ μ°μ°μλ₯Ό μ¬μ©νλ κ²μ΄ λ κ°λ μ±μ΄ μ’μ
Math.max
μ λ¬λ°μ μΈμ μ€μμ κ°μ₯ ν° μλ₯Ό λ°νν©λλ€. λ§μ½ μΈμκ° μ λ¬λμ§ μμΌλ©΄ -Infinityλ₯Ό λ°νν©λλ€.
Math.max(1); // -> 1
Math.max(1, 2); // -> 2
Math.max(1, 2, 3); // -> 3
Math.max(); // -> -Infinity
// λ°°μ΄ μμ μ€μμ μ΅λκ° μ·¨λ
Math.max.apply(null, [1, 2, 3]); // -> 3
// ES6 μ€νλ λ λ¬Έλ²
Math.max(...[1, 2, 3]); // -> 3
*λ°°μ΄μ μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ μμ μ€μμ μ΅λκ°μ ꡬνλ €λ©΄ Function.prototype.apply λ©μλ λλ μ€νλ λ λ¬Έλ²μ μ¬μ©ν΄μΌ ν¨
Math.min
μ λ¬λ°μ μΈμ μ€μμ κ°μ₯ μμ μλ₯Ό λ°νν©λλ€. λ§μ½ μΈμκ° μ λ¬λμ§ μμΌλ©΄ Infinityλ₯Ό λ°νν©λλ€.
Math.min(1); // -> 1
Math.min(1, 2); // -> 1
Math.min(1, 2, 3); // -> 1
Math.min(); // -> Infinity
// λ°°μ΄ μμ μ€μμ μ΅μκ° μ·¨λ
Math.min.apply(null, [1, 2, 3]); // -> 1
// ES6 μ€νλ λ λ¬Έλ²
Math.min(...[1, 2, 3]); // -> 1
*λ°°μ΄μ μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ μμ μ€μμ μ΅μκ°μ ꡬνλ €λ©΄ Function.prototype.apply λ©μλ λλ μ€νλ λ λ¬Έλ²μ μ¬μ©ν΄μΌ ν¨
[μΆμ²] λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive
'JavaScript > λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] RegExp (0) | 2022.08.03 |
---|---|
[JavaScript] Date (0) | 2022.08.02 |
[JavaScript] Number (0) | 2022.08.02 |
[JavaScript] μλ°μ€ν¬λ¦½νΈμ λ°°μ΄ λ©μλμ κ³ μ°¨ ν¨μ (0) | 2022.08.01 |
[JavaScript] λ°°μ΄ (0) | 2022.07.31 |
- Total
- Today
- Yesterday
- μΉ΄μΉ΄μ€ μΈν΄
- λμμΈ ν¨ν΄
- λ μ컬 νκ²½
- λ°±μ€
- λ°±μ€ node.js
- νλ‘ν μ½
- μ μ λ³μ
- 2019 μΉ΄μΉ΄μ€ κ°λ°μ κ²¨μΈ μΈν΄
- TDD
- μλ°μ€ν¬λ¦½νΈ
- ν¬ν¬μΈν°
- νλ‘νΌν°
- κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
- λ€νΈμν¬
- Baekjoon
- λ°±μ€ javascript
- μλ°
- fp
- λ€μ΄λλ―Ή νλ‘κ·Έλλ°
- git
- map
- μ΄μ체μ
- JavaScript
- http
- μκ³ λ¦¬μ¦
- λͺ¨λ μλ°μ€ν¬λ¦½νΈ deep dive
- ν¨μν νλ‘κ·Έλλ°
- μ΄λΆνμ
- μ½λ©ν μ€νΈ
- νλ‘κ·Έλλ¨Έμ€
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |