728x90
반응형
1. 문자
const str = 'Hello world!'
// .includes()
// 대상 문자에 주어진 문자가 포함되어 있는지 확인
// 찾기 시작할 문자 인덱스 설정 가능
console.log(str.includes('Hello', 1)) // false
// .indexOf()
// 대상 문자에 주어진 문자와 일치하는 첫 번째 인덱스 반환
// 일치하는 문자가 없으면 -1 반환
console.log(str.indexOf('Hello')) // 0
// .padEnd()
// 대상 문자의 길이를 확인해서 지정된 길이보다 작으면,
// 주어진 문자를 지정된 길이까지 끝에 붙여 새로운 문자 반환
console.log(str.padEnd(20, '0')) // Hello world!00000000
console.log(str.padEnd(5, '!')) // Hello world!
// .padStart()
// 대상 문자의 길이가 지정된 길이보다 작으면,
// 주어진 문자를 지정된 길이까지 앞에 붙여 새로운 문자 반환
console.log(str.padStart(20, '0')) // 00000000Hello world!
console.log(str.padStart(2, '!')) // Hello world!
// .replace()
// 대상 문자에서 패턴(문자, 정규식)과 일치하는 부분을 교체한 새로운 문자 반환
console.log(str.replace('Hello', 'Hi')) // Hi world!
console.log(str.replace('allo', 'Hi')) // Hello world!
console.log(str.replace(/Hello/g, 'Hi')) // Hi world!
// .slice()
// 대상 문자의 일부를 추출해 새로운 문자 반환
// 두 번째 인수 직전까지 추출하고, 두 번째 인수를 생략하면 대상 문자의 끝까지 추출
console.log(str.slice(0,5)) // Hello
console.log(str.slice(6, -1)) // world
console.log(str.slice(6)) // world!
// .split()
// 대상 문자의 주어진 구분자로 분리해서 배열데이터로 반환
console.log(str.split('')) // ['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!']
console.log(str.split(' ')) // ['Hello', 'world!']
console.log(str.split(' ').reverse()) // ['world!', 'Hello']
console.log(str.split(' ').reverse().join()) // world!,Hello
console.log(str.split(' ').reverse().join('')) // world!Hello
// .toLowerCase()
// 대상 문자를 영어 소문자로 변환해 새로운 문자로 반환
console.log(str.toLowerCase()) // hello world!
// .toUpperCase()
// 대상 문자를 영어 대문자로 변환해 새로운 문자로 반환
console.log(str.toUpperCase()) // HELLO WORLD!
// .trim()
// 대상 문자의 앞뒤 공백 문자(space, tab 등)을 제거한 새로운 문자를 반환
console.log(str.trim()) // Hello world!
2. 숫자
const num = 3.1415926535
// .toFixed()
// 숫자를 지정된 고정 소수점 표기(자릿수)까지 반올림하여 표현하는 문자로 반환
console.log(num.toFixed(3)) // 3.142
console.log(num.toFixed(2)) // 3.14
console.log(typeof num.toFixed(2)) // string
console.log(parseFloat(num.toFixed(2))) // 3.14(숫자데이터로 변환)
console.log( typeof parseFloat(num.toFixed(2))) // number
// .toLocaleString()
// 숫자를 현지 언어 형식의 문자로 반환
const num2 = 1000000
console.log(num2.toLocaleString()) // 1,000,000
console.log(`${num2.toLocaleString()}원`) // 1,000,000원
// Number.isInteger() : prototype 속성 없이 클래스에서 바로 사용하는 정적 메소드
// 정적 메소드는 데이터에서 활용하는 메소드가 아니고, 클래스에서 바로 붙여서 사용해야함
// 숫자가 정수인지 확인
const num3 = 123
const pi = 3.14
console.log(Number.isInteger(num3)) // true
console.log(Number.isInteger(pi)) // false
// Number.isNaN()
// 주어진 값이 'NaN'인지 확인
const num4 = NaN
const nul = null
console.log(Number.isNaN(num4)) // true
console.log(Number.isNaN(nul)) // false
console.log(Number.isNaN(pi)) // false
// Number.parseInt() 또는 parseInt()
// 주어진 값(숫자, 문자)을 파싱해 특정 진수(radix)의 정수로 반환
const str = '3.1415926535'
const num5 = 3.1415926536
// 10진수의 정수로 만들어라
console.log(Number.parseInt(str, 10)) // 3
console.log(Number.parseInt(num5, 10)) // 3
console.log(parseInt(num5, 10)) // 3
// Number.parseFloat() 또는 parseFloat()
// 주어진 값(숫자, 문자)을 파싱해 부동소수점 실수로 반환
console.log(Number.parseFloat(str)) // 3.1415926536
console.log(Number.parseFloat(num5)) // 3.1415926536
3. 수학
// 수학
// math : 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체
// Math.abs()
// 주어진 숫자의 절댓값을 반환
console.log(Math.abs(-2)) // 2
// Math.ceil()
// 주어진 숫자를 올림해 정수를 반환
console.log(Math.ceil(-3.14524)) // -3
// Math.floor()
// 주어진 숫자를 내림해 정수를 반환
console.log(Math.floor(-3.14524)) // -4
// Math.pow()
// 주어진 숫자의 거듭제곱한 값을 반환
console.log(Math.pow(4,2)) // 16
console.log(Math.pow(-1,3)) // -1
// Math.random()
// 숫자 0 이상, 1 미만의 난수 반환
console.log(Math.random()) // 0.6549579790193074
// 특정범위의 랜덤 정수를 얻는 함수
function random(min=0, max=10) {
return Math.floor(Math.random() * (max - min)) + min
}
console.log(random())
console.log(random(11,1))
// Math.round()
// 주어진 숫자를 반올림해 정수 반환
const n1 = 3.141
const n2 = 3.768
console.log(Math.round(n1)) // 3
console.log(Math.round(n2)) // 4
4. 날짜
// 날짜
const date = new Date();
// 월은 제로베이스 넘버 사용(1월:0...12월:11)
console.log(date) // 타임스탬프 : Fri Feb 12 2002 13:28:31 GMT+0900 (한국 표준시)
const d1 = new Date(2022, 11, 16, 12, 57, 30);
console.log(d1); // 타임스탬프 : Fri Dec 16 2022 12:57:30 GMT+0900 (한국 표준시)
const d2 = new Date("Fri Dec 16 2022 12:57:30 GMT+0900 (한국 표준시)");
console.log(d2) // 타임스탬프 : Fri Dec 16 2022 12:57:30 GMT+0900 (한국 표준시)
// 인스턴스에 붙여 사용하기 때문에 프로토타입 메소드
console.log(d2.getFullYear()) // 2022
// getFullYear(), setFullYear()
// 날짜 인스턴스의 '연도'를 반환하거나 지정
console.log(date.getFullYear()) // 2002
date.setFullYear(2023)
console.log(date.getFullYear()) // 2023
// getMonth(), setMonth()
// 날짜 인스턴스의 '월'를 반환하거나 지정
// 0부터 시작(제로베이스 넘버링)
console.log(date.getMonth()) // 3 (2월)
date.setMonth(1)
console.log(date.getMonth()) // 1 (2월)
// getDate(), setDate()
// 날짜 인스턴스의 '일'을 반환하거나 지정
console.log(date.getDate()) // 12
date.setDate(11)
console.log(date.getDate()) // 11
// getHours(), setHours()
// 날짜 인스턴스의 '시간'을 반환하거나 지정
console.log(date.getHours()) // 13
date.setHours(11)
console.log(date.getDate()) // 11
// getMinutes(), setMinutes()
// 날짜 인스턴스의 '분'을 반환하거나 지정
console.log(date.getMinutes()) // 43
date.setMinutes(11)
console.log(date.getDate()) // 11
// getSeconds(), setSeconds()
// 날짜 인스턴스의 '초'을 반환하거나 지정
console.log(date.getSeconds()) // 0
date.setSeconds(11)
console.log(date.getDate()) // 11
// getDay()
// 날짜 인스턴스의 '요일'을 반환, 지정은 없음
console.log(date.getDay()) // 11
// 한글로 요일 반환 함수
function getDayKo(day){
switch(day){
case 0 : return '일요일'
case 1 : return '월요일'
case 2 : return '화요일'
case 3 : return '수요일'
case 4 : return '목요일'
case 5 : return '금요일'
case 6 : return '토요일'
}
}
console.log(getDayKo(1)) // 월요일
// getTime(), setTime()
// '1970-01-01 00:00:00' 유닉스 타임부터
// 날짜 인스턴스의 '밀리초'로 반환하거나 지정
// 특정한 date 인스턴스에서 ms를 추출
console.log(date.getTime()) // 1616081471170
date.setTime(170000000)
console.log(date) // Sat Jan 03 1970 08:13:20 GMT+0900 (한국 표준시)
- 프로토타입에서 메소드 임의 생성(날짜 예제)
// 시간 정보 비교 가능
Date.prototype.isAfter = function (date) {
const a = this.getTime()
const b = date.getTime()
return a > b
}
const dt1 = new Date("Fri Feb 12 2002 13:28:31 GMT+0900 (한국 표준시)")
const dt2 = new Date("Fri Feb 12 2052 13:28:31 GMT+0900 (한국 표준시)")
console.log(dt1.isAfter(dt2)) // false
console.log(dt2.isAfter(dt1)) // true
// Date.now()
// '1970-01-01 00:00:00' 유닉스 타임부터 경과한
// 메소드가 호출될 때의 '밀리초'로 반환
// time은 고정값
const time = new Date().getTime()
// 정적 메소드 now는 호출될 때마다 숫자값 갱신
console.log(Date.now())
console.log(time)
setTimeout(() => {
console.log(Date.now())
console.log(time)
}, 1000);
728x90
반응형
'JS, TS' 카테고리의 다른 글
[JS] 표준내장객체 3 (정적 메소드, 객체, JSON) (0) | 2024.01.12 |
---|---|
[JS] 표준내장객체 2 (배열) (0) | 2024.01.12 |
[JS] 클래스 (0) | 2024.01.12 |
[JS] 함수 (1) | 2024.01.11 |
[JS] 데이터 및 연산자 (1) | 2024.01.11 |