표준 내장 객체 내용은 다 외울건 아니고 그냥 이런게 있구나... 나중에 쓸 일 있으면 참고하려고 작성합니다.
Number()
, parseFloat()
등의 함수를 이용해야한다.let num = 123.123
console.log(num.toFixed(2))// 문자 "123.12"
console.log(Number(num.toFixed(2)))// 숫자 123.12
console.log(parseFloat(num.toFixed(2)))// 숫자 123.12
const str = '3.141592'
const num = 3.141592
console.log(Number.parseInt(str, 10)) //3
console.log(Number.parseInt(num, 10)) //3
Number()
함수와 다른 점은 문자가 혼용되어 있어도 동작한다.const margin = '10px'
parseInt(margin) //10
Number(margin) //NaN
const str = '3.141592'
const num = 3.141592
console.log(Number.parseInt(str)) //3.141592
console.log(Number.parseInt(num)) //3.141592
parseInt()
처럼 문자가 있어도 첫 글자가 숫자로 시작하면 동작함let padding = '18.3%'
parseInt(padding) //18
parseFloat(padding) //18.3
const num = 1000000
console.log(num.toLocaleString()); // 1,000,000
console.log(`${num.toLocaleString()}원`); // 1,000,000원
let num = 10;
num.toString(); //"10"
num.toString(2); //"1010" 숫자 10을 2진수로 변환 후 문자열로 반환
let num2 = 255;
num2.toString(16); //"ff" 숫자 255을 16진수로 변환 후 문자열로 반환
const num = 123
const pi = 3.14
console.log(Number.isInteger(num)) //true
console.log(Number.isInteger(pi)) //false
주어진 값이 NaN인지 확인한다.
const num1 = NaN
const num2 - 123
const str = 'Hello'
const nul = null
console.log(Number.isNaN(num1)) //true
console.log(Number.isNaN(num2)) //false
console.log(Number.isNaN(str)) //false
console.log(Number.isNaN(nul)) //false
NaN은 동등/일치 연산자(==, ===)를 사용해 판별할 수 없다.
NaN == NaN
, NaN === NaN
도 false로 평가
오직 isNaN()
만으로 판별 가능
(참조) MDN - Math
Math.ceil(n)
: 올림 (정수 반환)Math.floor(n)
: 내림 (정수 반환)Math.round(n)
: 반올림Math.abs(n)
: 절대값Math.pow(n,m)
: 거듭제곱Math.sqrt(n)
: 제곱근Math.max(n, m,...)
: 주어진 숫자 중 가장 큰 값을 반환Math.min(n, m,...)
: 주어진 숫자 중 가장 작은 값을 반환0 이상, 1 미만의 랜덤 숫자 반환환
특정 범위의 랜덤 정수를 얻는 함수
function random(min=0, max=10) { return Math.floor(Math.random() * (max - min)) + min }
예제) 1~100 사이의 임의의 숫자를 뽑고 싶다면?