JS Math, Date, String객체

서린·2024년 4월 25일
0

greenstudy

목록 보기
37/44
post-thumbnail

수학(Math) 객체란?

  • 수학적인 처리하기 위한 속성과 메서드를 가진 내장 객체
  • Number 타입만 지원
// 올림, 반올림, 버림
Math.ceil(0.1); // 1 
Math.round(0.5); // 1
Math.floor(0.9); // 0 
  • 랜덤값
Math.random(); // 0 ~ 1 랜덤한 수를 반환
// 1~10 랜덤 숫자 획득
Math.ceil(Math.random() * 10);
  • 최소값, 최대값, 절대값
const ARR = [3,4,8,65,15,1,89,25,11] // 예시
let max = Math.max(...ARR); // 최대값
let min = Math.min(...ARR); // 최소값

Math.abs(1); // 절대값
Math.abs(-1); // 절대값은 무조건 양수

시간/날짜(Date) 객체란?

  • 시간과 날짜를 처리하기 위한 속성과 메서드를 가진 내장 객체
  • 내부적으로 로컬 타이존에 따른 유닉스 타임스탬프 기반으로 동작
  • 1970년 1월 1일 00:00:00부터 현재까지의 경과된 밀리초 단위의 수
// 앞에 0을 추가해주는 함수
const lpadZero = (val, length) => {
    return String(val).padStart(length, '0')
}

// 현재날짜/시간획득
const NOW = new Date();

// getFullYear() : 연도만 가져오는 메소드 (yyyy)
const YEAR = NOW.getFullYear();

// getMonth() : 월만 가져오는 메소드, 0 ~ 11을 획득
const MONTH = lpadZero(NOW.getMonth() + 1, 2);

// getDate() : 일을 가져오는 메소드
const DATE = lpadZero(NOW.getDate(), 2);

// getHours() : 시를 가져오는 메소드
const HOUR = lpadZero(NOW.getHours(), 2);

// getminutes() : 분을 가져오는 메소드
const MINUTE = lpadZero(NOW.getMinutes(), 2);

// getSeconds() : 초를 가져오는 메소드
const SECOND = lpadZero(NOW.getSeconds(),3);

// getMilliseconds() : 미리초를 가져오는 메소드
const MILLISECONDS = lpadZero(NOW.getMilliseconds(), 3);

// getDay() : 요일을 가져오는 메소드, 0(일)~6(토) 반환
const DAY = NOW.getDay();

// 날짜 포맷
const FOMAT_DATE = `${YEAR}-${MONTH}-${DATE} ${HOUR}:${MINUTE}:${SECOND}, ${changeDayToKoreanDay(DAY)}`

// getTime() : UNIX 타임스탬프를 반환
const TIME = NOW.getTime();

문자열(String) 객체

let str2 = new String('이렇게 만들어야해');

// length : 문자열의 길이를 반환
console.log(str.length);

// charAt() : 특정 인덱스의 문자를 반환
str.charAt(3);

// indexOf() : 문자열에서 특정 문자열을 찾아 최초의 인덱스를 반환
// 찾지못하면 -1 반환
str = '안녕하세요. 안녕하세요.';
str.indexOf('녕');
if(str.indexOf('안녕') < 0) {
    console.log('해당문자열없음')
}
// 검색을 시작할 인덱스 위치 지정 하는 방법
str.indexOf('녕', 5);

// includes() : 문자열에서 특정 문자열을 찾아 true/false 반환
if(str.includes('하세요')){
    console.log('검색 문자열 존재')
}

// replace() : 특정 문자열을 찾아서 지정한 문자열로 치환한 문자열을 반환
str = 'abcdefg dede';
str.replace('de','안녕');

// replaceAll() : 모든 특정 문자열을 찾아서 지정한 문자열로 치환한 문자열을 반환
str.replaceAll('de', '안녕');

// substring() : 시작 인덱스부터 종료 인덱스까지 자른 문자열을 반환
str = '안녕하세요. Javascript입니다.';
str.substring(0, 3);

let pattern = 'JavaScript';
let patternIndex = str.indexOf(pattern);
str.substring(patternIndex, patternIndex + pattern.length);

// split() : separator를 기준으로 문자열을 잘라서 배열 요소로 담은 배열을 반환
str = '빵, 돼지숯불, 제육, 돈까스';
str.split(', ');
str.split(',' ,2); // 배열길이를 2로 제한

// trim() : 좌우의 공백을 제거해서 문자열 반환
str = '     sadasda    '
str.trim();

// toUpperCase(), toLowerCase() : 알파뱃을 대/소문자로 변환해서 반환
str = 'aBcD';
str.toUpperCase();
str.toLowerCase();
profile
개발 일기 ( •̀ ω •́ )✧

0개의 댓글

관련 채용 정보