(string,number 변환), new Date(), Math객체
위코드 첫 주를 보내면서 js에 대한 많은 문제를 풀고 헷갈렸던 문법에 대해서 정리해 보려고 한다.
1. string ↔ number
String -> number
string 문자열을 number로 변환하는 방법으로는 [Number, parseInt, parseFloat] 가 있다.
- Number
let year = "2021";
console.log(Number(year)); -> 숫자로 변환할 수 있다.
- ParseInt - 소수부분은 버린다.
- parseInt( string, n ) n은 옵션으로 n진법을 나타내며 2~36까지 입력가능하고 입력하지 않으면 10으로 처리한다.
- parseInt(‘12.68’) -> 12
-
ParseFloat - 문자열을 실수로 바꾸는 함수
-
수로 시작할 때 그 수를 실수로 바꿉니다.
-
띄어 쓰기로 여러 개의 수가 있으면 첫번째 수만 바꿉니다.
-
공백으로 시작하면 공백은 무시합니다.
-
수가 아닌 문자로 시작하면 NaN을 반환합니다.
-
Number -> string
toString()
var numberAsNumber = 1234;
var numberAsString = numberAsNumber.toString();
’+’ 연산의 특성을 활용하여 아래와 같이 변환도 가능하다.
var numberAsNumber = 1234;
var numberAsString = 1234 + "";
console.log(numberAsNumber, typeof numberAsNumber); //1234 number
console.log(numberAsString, typeof numberAsString); //1234 string
’-‘ 연산의 특성을 활용하여 아래와 같이 변환도 가능하다.
var numberAsNumber = "1234";
var numberAsString = numberAsNumber - 0;
console.log(numberAsNumber, typeof numberAsNumber);//1234 number
console.log(numberAsString, typeof numberAsString);//1234 string
+연산자와 -연산자를 이용해 문자열로 변환할 수 있는 내용을 이번에 처음 알게 되어 정리 해보았습니다.
new Date()
Date 함수를 호출하여 현재 날짜와 시간을 나타내는 문자열을 반환한다.
//Date 객체로 현재 시간을 가져온 후, Date 객체가 갖고 있는 함수로 각 날씨와 시간을 가져
올 수 있습니다.
let rightNow = new Date();
let year = rightNow.getFullYear(); //Year값을 가져온다
let month = rightNow.getMonth()+1; //month값을 가져온다
//getMonth()는 하나작은 값을 가져오기 때문에 +1 해준다.
let date = rightNow.getDate(); //date 값을 가져온다
let day = rightNow.getDay(); //day 값을 가져온다.
let currentHour = rightNow.getHours(); //hour
let currentMin = rightNow.getMinutes(); //minutes
주의할 점은
- getMonth()는 현재 달보다 1 작은 값을 반환하기 때문에 1을 더해줘야 한다.
- 시간이 흐른다고 rightNodw에 담긴 값이 변하는게 아니고 코드가 실행되는 순간 현재 시간이 담긴다.
getTime
let rightNow = new Date();
let time = rightNow.getTime();
//time의 값은 1970년 1월 1일을 기준으로 몇 초가 지났는지 알려준다.
Math
[더 많은 자료] :https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/
1. Math.random()
-
랜덤
-
0보다 크거나 같고 1보다 작은 무작위 숫자를 반환
Math.random(); // 기본 랜덤 메소드 호출, 0.9569793562433155 (Math.random() * 10).toFixed(); // 0 ~ 10 랜덤 수 리턴(문자열) Math.round((Math.random() * 10)); // 0 ~ 10 랜덤 수 리턴(number)
2. Math.round()
-
소수점 이하 반올림
-
입력값을 반올림한 수와 가장 가까운 정수 값을 반환합니다.
Math.round( 20.49); // 20 Math.round( 20.5 ); // 21 Math.round( 42 ); // 42 Math.round(-20.5 ); // -20 Math.round(-20.51); // -21
3. Math.ceil()
-
소수점 이하 올림
-
주어진 숫자보다 크거나 같은 숫자 중 가장 작은 숫자를 integer 로 반환합니다.
Math.ceil(.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(-0.95); // -0
Math.ceil(-4); // -4
Math.ceil(-7.004); // -7
4. Math.floor()
-
소수점 이하 버림
-
주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.
Math.floor( 45.95); // 45 Math.floor( 45.05); // 45 Math.floor( 4 ); // 4 Math.floor(-45.05); // -46 Math.floor(-45.95); // -46
5. Math.abs()
-
절대값
-
주어진 숫자의 절대값을 반환합니다.
x
가 양수이거나 0이라면x
를 리턴하고,x
가 음수라면x
의 반대값, 즉 양수를 반환합니다.Math.abs('-1'); // 1 Math.abs(-2); // 2 Math.abs(null); // 0 Math.abs(''); // 0 Math.abs([]); // 0 Math.abs([2]); // 2 Math.abs([1,2]); // NaN Math.abs({}); // NaN Math.abs('string'); // NaN Math.abs(); // NaN
6. Math.min()
-
가장 작은 값
-
주어진 숫자들 중 가장 작은 값을 반환합니다.
var x = 10, y = -20; var z = Math.min(x, y); console.log(z); //-20
7. Math.max()
-
가장 큰 값
-
력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.
Math.max(10, 20); // 20 Math.max(-10, -20); // -10 Math.max(-10, 20); // 20
댓글남기기