toString() 숫자를 문자로 바꿔줌.
10진수 -> 2진수 / 16진수
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010" 괄호안에 숫자를 적으면 그 안에 진법으로 바꿔줌
let num2 = 255;
num2.toString(16); // "ff"
Math
Math.PI : 원주율을 구해줌
Math.ceil(): 올림 소수점 상관없이 올려버림
Math.floor(): 내림 소수점 상관없이 내려버림
Math.round() : 반올림 소수점에 따라 반올림
소수점 자리수
let userRate = 30.1234;
요구사항 : 소수점 둘째자리 까지 표현(셋째 자리에서 반올림) -> 30.12
방법1
Math.round(userRate * 100) /100 -> 30.12 출력
방법2
userRate.toFixed(2); -> "30.12" 출력 **toFixed는 문자열을 반환**
숫자형으로 바꾸는 방법
Number(userRate.toFixed(2)); -> 30.12 Number()로 감싸서 숫자형으로 반환시키기
userRate.toFixed(0); -> "30" 출력
userRate.toFixed(6); -> "30.123400" 출력 소수점 자리 초과일땐 0으로 출력
isNaN() NaN인지 아닌지를 파악해줌
let x = Number("x"); -> NaN
x == NaN // false
x === NaN // false
NaN == NaN // false NaN은 특이하게 자기자신을 false로 출력함
isNaN(x) // true
isNaN(3) // false
parseInt() 정수형으로 변환
let margin = "10px";
parseInt(margin); // 10 정수형으로 변환 단 숫자로 시작해야하며 숫자인 부분까지만 변환을 함
Number(margin); // NaN 문자와 함께있으면 변환 불가
let redColor = "f3";
parseInt(redColor); // NaN 숫자로 시작하지 않기때문에 변환 불가
parseInt(redColor, 16); // 243 16진수는 헷갈린다..뭐라는지 모르겠음
parseInt("11", 2) // 3
parseFloat() 부동 소수점을 반환
let padding = "18.5%"
parseInt(padding); // 18
parseFloat(padding); // 18.5
Math.random() 0~1 사이 무작위 숫자 생성
만약 1~100 사이 임의의 숫자를 뽑고 싶다면?
Math.floor(Math.random()*100)+1 // +1을 더해주는 이유는 Math.floor를 통하여
내림이기때문에 0부터 99까지만 출력됨
우리가 원하는건 100까지 이기때문에
100도 출력될수 있게 +1을 해줌
여기서 100은 우리가 원하는 최대값
예를들어 0~5까지면 100이 아닌 5를 곱하면 됨.
Math.max() : 최대값 구하기
Math.min() : 최솟값 구하기
Math.max(1,4,-1,5,10,9,5.54); // 10
Math.min(1,4,-1,5,10,9,5.54); // -1
Math.abs() : 절대값구하기
Math.abs(-1) // 1
Math.pow(n,m) : 제곱 n의 m승
Math.pow(2,10); // 1024
Math.sqrt() : 제곱근
Math.sqrt(16); // 4