toString()
10진수 -> 2진수/16진수
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010" 괄호안에 숫자를 사용하면 그 숫자의 진법으로 바꿔줍니다.
let num2 = 255;
num2.toString(16); // "ff"
Math
JavaScript에는 수학과 관련된 프로퍼티와 메소드들을 가지고 있는 Math라는 내장 객체가 있습니다.
예를 들면 Math.PI; 는 3.141592...이 나오게 됩니다.
올림
올림은 Math.ceil()을 사용합니다.
let num1= 5.1;
let num2= 5.7;
Math.ceil(num1); // 6
Math.ceil(num2); // 6
내림
내림은 Math.floor()을 사용합니다.
Math.floor() : 내림
Math.floor(num1); // 5
Math.floor(num2); // 5
반올림
반올림은 Math.round()를 사용합니다.
Math.round() : 반올림
Math.round(num1); // 5
Math.round(num2); // 6
소수점 자릿수
let userRate = 30.1234;
요구사항 : 소수점 둘째자리까지 표현(셋째 자리에서 반올림)
round()를 사용하거나 toFixed()메소드를 사용해서 구할 수 있습니다.
Math.round(userRate * 100) / 100 // 30.12
userRate.toFixed(2); // 30.12
만약 ()안에 0을 넣거나 원래 소수점자리보다 큰 수를 넣으면 어떻게 될까?
userRate.toFiex(0); -> "30"
userRate.toFiex(6); -> "30.123400"
이 됩니다. 그리고 한가지 주의할점이 있습니다. 바로 toFixed메소드는 문자열로 반환되기 때문에 반환 후 Number를 통해 숫자로 변경해준 후 작업을 합니다.
userRate.toFixed(2); // "30.12"
Number(userRate.toFixed(2)); // 30.12
isNaN()
isNan()은 매개변수가 숫자인지 검사하는 함수입니다.
()안에 인수가 숫자이면 false, 문자이면 true를 반환합니다.
let x = Number('x');
x == NaN // false
x === NaN // false
NaN == NaN // false
isNaN(x) // true
isNaN(3) // false
-> isNaN 만이 NaN을 판별할 수 있습니다.
parseInt()
parseInt()는 문자열을 정수로 바꾸는 함수입니다.
Nuber()는 바꿔주는 인수에 문자가 포함되어 있으면 NaN을 리턴한다.
let margin = '10px';
parseInt(margin); // 10
Number(margin); // NaN
let redColor = 'f3';
parseInt(redColor); // NaN, 문자가 앞에 오기 때문에 NaN이 반환된다.
parseInt(redColor,16); //243, 두번째 인자를 통해 16진수로 변환
parseInt('11',2) // 3, 2진수를 10진수로 손쉽게 변환
parseFloat()
parseFloat()는 pareInt와 동일하게 작업하지만 소숫점을 함께 반환합니다.
Math.random()
Math.random()은 0 ~ 1 사이 무작위 숫자를 생성합니다.
만약 1~100 사이의 임의의 숫자를 생성하고 싶으면
Math.floor(Math.random()*100) +1
예를들면 Math.random()이 0.6789를 생성합니다. 거기다가 100을 곱합니다 67.89가됩니다. Math.floor을 이용해서 소숫점이하를 버립니다. 67이 됩니다. 마지막으로 1을 더해주는데(0. 소숫점이 나올수있기때문에) 68이만들어집니다.
이렇게 실행할때마다 다른 숫자가 나오게 됩니다.
max() , min(), abs()
순서대로 최대, 최소, 절대값을 구할 수 있습니다 .
pow()
pow는 제곱수를 구해줍니다
Math.pow(2,10) 을 하면 2의 10제곱이 나오게 됩니다.
sqrt()
sqrt는 제곱근을 구해줍니다. Math.sqrt(16) // 4
'프론트엔드 > javascript' 카테고리의 다른 글
자바스크립트 - 배열 메소드1(Array methods) (1) | 2023.04.08 |
---|---|
자바스크립트 - 문자열 메소드(String methods) (0) | 2023.04.08 |
자바스크립트 - 심볼(Symbol) (0) | 2023.04.07 |
자바스크립트 - 생성자 함수, 객체메소드, 개선된 프로퍼티 (0) | 2023.04.07 |
자바스크립트 - 변수, 호이스팅, TDZ(Temporal Dead Zone) (0) | 2023.04.07 |