parseInt()
parseInt("36"); // 36
parseInt("101", 2); //5 (2진수로 취급하여 변환)
parseInt("36.5px"); // 36
parseInt("36px"); // 36
parseInt("width: 36px"); // NaN
parseFloat()
parseInt와 마찬가지로 문자열에서 읽을 수 있는 숫자를 가져와 숫자형으로 변경. 부동 소숫점 숫자 즉, 실수로 변환.
parseFloat("36.5"); // 36.5
parseFloat("36.5px"); // 36.5
parseFloat("14.5.6px"); // 14.5
Number.isInteger()
인자가 정수인지 판별.
Number.isInteger(0); //true Number.isInteger(1); //true
Number.isInteger(0.1); //false (소수)
isNaN() / Number.isNaN()
인자가 NaN인지 판단. Number.isNaN은 형 변환이 일어나지 않고 엄격하게 판단, isNaN은 형 변환이 일어남.
isNaN(undefined); // true (undefined는 숫자로 변환할 수 없는 값) isNaN({}); // true (객체, 숫자로 변환할 수 없는 값) isNaN("hello"); // true (문자열, 숫자로 변환할 수 없는 값)
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("hello"); // false
toFixed
숫자의 소수점 이하의 자리수를 지정. 지정된 소수점 이하 자릿수를 반올림하여 문자열로 반환. 값이 없거나 0이면 정수를 반환.
const pi = 3.14159;
console.log(pi.toFixed()); // 3
console.log(pi.toFixed(2)); // 3.14
console.log(pi.toFixed(4)); // 3.1416
console.log(pi.toFixed(10)); // 3.1415920000
Math 객체를 이용한 연산
자바스크립트가 기본적으로 가지고 있는 Math 객체를 이용하면 좀 더 다양한 연산이 가능합니다.
console.log(`Math.PI : ${Math.PI}`); //3.141592653589793console.log(
</span><span class="token string">Math.floor(4.7): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span><span class="token number">4.7</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //4 (내림)
console.log(</span><span class="token string">Math.round(4.7): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">round</span><span class="token punctuation">(</span><span class="token number">4.7</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //5 (반올림)
console.log(</span><span class="token string">Math.ceil(4.7): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">ceil</span><span class="token punctuation">(</span><span class="token number">4.7</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //5 (올림)
console.log(</span><span class="token string">Math.trunc(4.7): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">trunc</span><span class="token punctuation">(</span><span class="token number">4.7</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //4 (정수부)console.log(
</span><span class="token string">Math.pow(2, 8): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">pow</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">8</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //256 (첫번째인자를 두번째인자로 거듭제곱)
console.log(</span><span class="token string">Math.sqrt(64): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">sqrt</span><span class="token punctuation">(</span><span class="token number">64</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //8 (제곱근)
console.log(</span><span class="token string">Math.abs(-5): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">abs</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //5 (절대값)console.log(
</span><span class="token string">Math.random(): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //난수
console.log(</span><span class="token string">Math.max(10, 20, 30, 40): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">max</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">40</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //40 (가장 큰 숫자)
console.log(</span><span class="token string">Math.min(10, 20, 30, 40): </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>Math<span class="token punctuation">.</span><span class="token function">min</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">,</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">40</span><span class="token punctuation">)</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">); //10 (가장 작은 숫자)
// 정확성이 보장되지 않는 숫자 타입 9007199254740991 + 1 9007199254740991 + 2 9007199254740991 + 3 9007199254740991 + 4
// bigint
9007199254740991n + 1n
9007199254740991n + 2n
9007199254740991n + 3n
9007199254740991n + 4n
5n / 2n; // 2n5n / 2; // TypeError
Number(5n) / 2; // 2.5 (5/2)
5n / BigInt(2); // 2n (5n/2n)
BigInt(9007199254740993) BigInt(9007199254740995)
BigInt('9007199254740993')
BigInt('9007199254740995')
let sym1 = Symbol("name");
let sym2 = Symbol("name");
console.log(sym1 === sym2); // false