* 불리언 함수들
const isTrue1 = true;
const isTrue2 = new Boolean(true);
console.log(isTrue.valueOf());
* Falsy
> 0
> -0
> null
> NaN
> undefined
> ''
* Truthy
> 1
> -1
> '0'
> 'false'
> []
> {}
* 숫자 함수들
const num1 = 123;
const num2 = new Number(123);
console.log(typeof num1);
console.log(typeof num2);
console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE);
console.log(Number.MAX_SAFE_INTEGER);
console.log(Number.MIN_SAFE_INTEGER);
console.log(Number.NaN);
console.log(Number.NEGATIVE_INFINITY);
console.log(Number.POSITIVE_INFINITY);
if (num1 < Number.MAX_VALUE) {
}
if (Number.isNaN(num1)) {
}
// 지수표기법 (매우 크거나 작은 숫자를 표기할때 사용, 10의 n승으로 표기)
const num3 = 102;
console.log(num3.toExponential());
// 반올림하여 문자열로 변환
const num4 = 1234.12;
console.log(num4.toFixed());
console.log(num4.toString());
// 내장함수를 이용한 숫자/날짜의 현지화
console.log(num4.toLocaleString('ar-EG'));
// 원하는 자릿수까지 유효하도록 반올림
console.log(num4.toPrecision(5));
console.log(num4.toPrecision(4));
console.log(num4.toPrecision(2)); // 전체 자릿수 표기가 안될때는 지수표기법
if (Number.EPSILON > 0 && Number.EPSILON < 1) {
console.log(Number.EPSILON); // 0과 1사이에서 나타낼 수 있는 가장 작은 숫자
}
// 0.10000000000000003이 호출되는 이유 => 2진수로 변환한뒤 계산후 결과값을 10진수로 변환하기 때문이다.
const num = 0.1 + 0.2 - 0.2; // 0.10000000000000003이 호출된다.
console.log(num);
// EPSILON보다 작은값인지 부등호 확인을 통해서 작은값 비교를 할 수 있다.
function isEqual(original, expected) {
return Math.abs(original - expected) < Number.EPSILON;
}
console.log(isEqual(1, 1));
console.log(isEqual(0.1, 0.1));
console.log(isEqual(num, 0.1));
* Math함수
// Math
// static properties, method
console.log(Math.E); // 오일러의 상수, 자연로그의 밑
console.log(Math.PI); // 원주율 PI값
// static method
// 절대값
console.log(Math.abs(-10));
// 소수점 이하를 올림
console.log(Math.ceil(1.4));
// 소수점 이하를 내림
console.log(Math.floor(1.4));
// 소수점 이하를 반올림
console.log(Math.round(1.4));
console.log(Math.round(1.7));
// 정수만 반환
console.log(Math.trunc(1.5432));
// 최대, 최소값을 찾기
console.log(Math.max(1, 3, 4));
console.log(Math.min(1, 3, 4));
// 거듭제곱
console.log(3 ** 2);
console.log(Math.pow(3, 2));
// 제곱근
console.log(Math.sqrt(9));
// 랜덤한 값을 반환
console.log(Math.random());
// 1~10
// random은 0 < x < 1 까지의 범위안의 값을 반환해준다.
// (곱하기 10) 0 < x < 10
// (더하기 1) 0 < x < 11
console.log(Math.round(Math.random() * 10 + 1));
* 문자열 함수들
const textObj = new String('Hello World!');
const text = 'Hello World!';
console.log(textObj);
console.log(text);
console.log(text.length);
console.log(text[0]);
console.log(text[1]);
console.log(text[2]);
console.log(text.charAt(0));
console.log(text.charAt(1));
console.log(text.charAt(2));
// 앞에서 부터 찾기
// index번호를 호출해준다.
console.log(text.indexOf('l'));
// 뒤에서 부터 찾기
// index번호를 호출해준다.
console.log(text.lastIndexOf('l'));
// true or false를 반환한다.
console.log(text.includes('tx'));
console.log(text.includes('h'));
console.log(text.includes('H'));
// 해당 문자로 시작 하는지
console.log(text.startsWith('He'));
// 해당 문자로 끝이 나는지
console.log(text.endsWith('!'));
console.log(text.toUpperCase());
console.log(text.toLowerCase());
console.log(text.substring(0, 2));
console.log(text.slice(2));
console.log(text.slice(-2));
const space = ' space ';
console.log(space.trim());
const longText = 'Get to the, point';
console.log(longText.split(' '));
console.log(longText.split(', ', 2));
* 날짜 관련 함수들
// UTC기준 (협정 세계시, 1970년 1월 1일 UTC 자정과의 시간 차이를 밀리초 단위로 표기)
console.log(new Date());
console.log(new Date('Jun 5, 2022'));
console.log(new Date('2022-12-17T03:24:00'));
console.log(Date.now());
// 초 단위로 변환
console.log(Date.parse('2022-12-17T03:24:00'));
const now = new Date();
// 년도 설정
now.setFullYear(2023);
// 원하는 월로 변환
now.setMonth(0); // 0: 1
console.log(now.getFullYear());
console.log(now.getDate()); // 0: 1
console.log(now.getDay()); // 0 일요일일부터, 1... 6: 토요일
console.log(now.getTime());
console.log(now);
console.log("---------")
console.log(now.toString());
console.log(now.toDateString());
console.log(now.toTimeString());
console.log(now.toISOString()); // ISO 8601 형식
console.log(now.toLocaleString('en-US'));
console.log(now.toLocaleString('ko-KR'));
* 함수들 사용 연습 예제
// 1. 문자열의 모든 캐릭터를 하나씩 출력하라
const text = 'Hello World!';
for (let i = 0; i < text.length; i++) {
console.log(text[i]);
}
// 2. 사용자들의 id를 잘라내어 각각의 id를 배열로 보관
const ids = 'user1, user2, user3, user4';
// ['user1', 'user2', 'user3', 'user4']
const array = ids.split(', ');
console.log(array);
// 3. 1초에 한번씩 시계를 (날짜포함) 출력
setInterval(() => {
const now = new Date();
console.log(now.toLocaleString('ko-KR'));
}, 1000);
'Study > JavaScript' 카테고리의 다른 글
[JavaScript_study] shallow copy (0) | 2022.04.11 |
---|---|
[JavaScript_study] 자료구조 및 배열 (0) | 2022.04.11 |
[JavaScript_study] 유용한 객체들 (0) | 2022.04.11 |
[JavaScript_study] 자바스크립트 엔진에 대해서 (0) | 2022.04.11 |
[JavaScript_study] 상속 (extends) (0) | 2022.04.11 |