e
를 붙이고 0의 개수를 붙여주면 헷갈리지 않게 표현할 수 있다. let billion1 = 1000000000;
let billion2 = 1e9;
console.log(billion1); // 1000000000
console.log(billion2); // 1000000000
let ms1 = 0.001;
let ms2 = 1e-3;
console.log(ms1); // 0.001
console.log(ms2); // 0.001
0x
, 8진수는 0o
, 2진수는 0b
를 붙여 표현할 수 있다.console.log(0xfF); // 255
console.log(0b11111111); // 255
console.log(0o377); // 255
toString(base)
메소드는 base
진법으로 변환 후, 문자열로 반환해준다.base
의 default 값은 10이다.let num = 255;
console.log(num.toString(16)); // ff
console.log(Number(255).toString(8)); // 11111111
console.log((255).toString(2)); // 377
console.log(255..toString()); // 255
255
에서 바로 함수를 호출하려면 ..
점을 2개 붙이거나, 괄호로 감싸주면 된다.Math.floor
: 소수점 첫째 자리에서 버림Math.ceil
: 소수점 첫째 자리에서 올림Math.round
: 소수점 첫째 자리에서 반올림Math.trunc
: 소수부를 무시하고, 정수부만 취함toFixed(n)
: 소수 n+1자리에서 반올림하여 문자열로 반환let num = 1.234
console.log(Math.floor(num * 100) / 100); // 1.23 (숫자)
console.log(num.toFixed(2)); // 1.23 (문자열)
console.log(+num.toFixed(2)); // 1.23 (숫자)
toFixed
메소드 후에 숫자형으로 반환하길 원한다면 앞에 +
를 붙여주자.isNaN
과 isFinite
isNaN(n)
: n을 숫자로 변환한 다음 NaN
인지 판별 (NaN
=== NaN
이 false
이기 때문에 해당 함수가 필요함)
console.log(isNaN(NaN)); // true
console.log(isNaN("asd")); // true
console.log(isNaN(123)); // false
console.log(isNaN("123")); // false
isFinite(n)
: n을 숫자로 변환한 다음 숫자가 Nan/Infinity/-Infinity
이 아닌지 판별
console.log(isFinite(NaN)); // false
console.log(isFinite(-Infinity)); // false
console.log(isFinite(Infinity)); // false
console.log(isFinite(1e100000)); // false
console.log(isFinite(1)); // true
parseInt
와 parseFloat
+
연산자 또는 Number()
를 사용하여 숫자형으로 변환했었다.NaN
을 반환한다. 하지만 이번에 소개할 parseX
메소드를 사용하면 더 많은 곳에서 숫자형으로 반환할 수 있다.console.log(parseInt("100cm")); // 100
console.log(parseInt("100$")); // 100
console.log(parseInt("100.1cm")); // 100
console.log(parseFloat("100.1cm")); // 100.1
console.log(parseFloat("100.1.1.1.1cm")); // 100.1, 첫 번째 점까지 읽음
console.log(parseInt("a1")); // NaN, 첫 글자부터 숫자가 아니므로
console.log(parseInt("0xff", 16)); // 255
console.log(parseInt("ff", 16)); // 255
Math
에 여러 수학 메소드와 상수가 있다.Math.random()
: 0과 1 사이의 난수 반환
Math.max(a, b, c, ...)
: 인수 중 최대값 반환
Math.min(a, b, c, ...)
: 인수 중 최소값 반환
Math.pow(n, power)
: n^power 반환
n
을 붙이거나 BigInt()
로 호출한다.console.log(10294159871298347189571289743891275n); // 10294159871298347189571289743891275n
console.log(BigInt("10294159871298347189571289743891275")); // 10294159871298347189571289743891275n
console.log(5n + 2n); // 7n
console.log(5n / 2n); // 2n, 결과가 BigInt 형이기 때문에 소수부는 버린다.
console.log(1n < 2n); // true
console.log(1 < 2n); // true
console.log( 1 == 1n ); // true
console.log( 1 === 1n ); // false, type이 다르기 때문
console.log(Boolean(0n)); // false
console.log(Boolean(1n)); // true
console.log(Boolean(2n)); // true