// .length : 문자의 길이(숫자)를 반환한다.
const str = 'Hello world!'
// 012345678901
console.log(str.length)
// .includes()
// 대상 문자에 주어진 문자가 포함되어 있는지(불린) 확인합니다.
const str2 = 'Hello world!'
console.log(str.includes('Hello', 0)) //true
// 주어진 인덱스부터 필요한 문자가 있는지
// .indexof()
// 대상 문자에서 주어진 문자와 일치하는 첫 번째 인덱스(숫자)를 반환한다.
// 일치하는 문자가 없으면 '-1'을 반환한다.
const str3 = 'Hello world'
// 012345678901
console.log(str3.indexOf('world')) //6 : 6번째 인덱스부터 존재해~
console.log(str3.indexOf('HEROPY')) //-1
if(str.indexOf('HEROPY') === -1 ) {
console.log('HEROPY가 없습니다.')
}
if (!str.includes('HEROPY')) {
console.log('HEROPY가 없습니다')
}
const str = '1234567' // 대상 문자의 길이는 7
console.log(str.padEnd(10, '0')) // 지정문자의 길이 10 // 출력 : 1234567000
console.log(str) // 원본은 훼손되지 않는다
// 만약 대산 문자가 지정된 길이보다 크다면 아무런 변화 X
// .padStart()
// 대상 문자의 길이(length)가 지정된 길이보다 작으면, 주어진 문자를 지정된 길이까지 앞에 붙여 새로운 문자를 반환
const str = '1234567'
console.log(str.padStart(10,'0'))
console.log(str)
// .replace() : 대상 문자에서 패턴(문자, 정규식)과 일치하는 부분을 교체한 새로운 문자를 반환한다.
// 두 번째 인수 인덱스 번호 직전까지 추출하고, 두 번째 인수를 생략하면 대상 문자의 끝까지 추출한다.
const str = 'Hello, Hello?!'
console.log(str.replace('Hello', 'Hi')) // 제일먼저 찾은 단어만.
console.log(str.replace(/Hello/g, 'Hi')) // Hello라는 단어를 모두 바꿈
console.log(str) // 원본은 그대로.
// .slice() : 대상 문자의 일부를 추출해 새로운 문자를 반환.
const str2 = 'Hello world!'
console.log(str2.slice(0, 5)) // Hello
console.log(str.slice(6, -1)) // world
console.log(str.slice(6)) // 6번 인덱스부터 끝까지
console.log(str) // 원본 데이터는 그대로
// .split()
// 대상 문자를 주어진 구분자로 나눠 배열로 반환합니다.
const str = 'Apple / Banana / Cherry'
console.log(str.split(' / ')) // 'Apple', 'Banana' 'Cherry'
console.log(str.split('')) // 빈 문자는 모든 문자가 전부 분리되어 배열로 만들어짐.
// .toLowerCase()
// 대상 문자를 영어 소문자로 변환해 새로운 문자로 반환한다.
const str2 = 'Apple, Banana, Cherry'
HTMLFormControlsCollection.log(str2.toLocaleLowerCase())
console.log(str2)
// .toUpperCase()
// 대상 문자를 영어 대문자로 변환해 새로운 문자로 반환한다.
const str = 'Apple, Banana, Cherry'
HTMLFormControlsCollection.log(str.toUpperCase())
console.log(str)
코드를 입력하세요
// .trim()
// 대상 문자의 앞뒤 공백 문자(space, tab 등)를 제거한 새로운 문자를 반환한다
const str = ' HEROPY! '
console.log(str.trim()) // 'HEROPY!'
console.log(str) // ' HEROPY! '
// 앞뒤공백만 제거하기 때문에 사이사이 공백은 제거하지 않는다.
// .toFixed()
// 숫자를 지정된 고정 소수점 표기(자릿수)까지 표현하는 문자로 반환
const num = 3.1415926535
console.log(num.toFixed(2)) // 소수점 2자리 수까지 해당하는 내용을 자르고, 그 이후는 다 자른다
// 3.14 (반환된 결과는 숫자가 아닌 문자)
console.log(parseFloat(num.toFixed(2))) // 결과는 숫자
// toLocaleString()
// 숫자를 현지 언어 형식의 문자로 반환
const num = 1000000
console.log(num.toLocaleString()) // 문자데이터
console.log(`${num.toLocaleString()}원`)
// 별도의 숫자 데이터에서 사용하는 것이 아닌 클래스에서 바로 사용하는 메소드(정적메소드)
// 제공되는 숫자가 정수인지 확인
const num = 123
const pi = 3.14
console.log(Number.isInteger(num)) //true
console.log(Number.isInteger(pi)) //false
// 주어진 값이 'NaN'인지 확인
const num1 = NaN
const num2 = 123
const str = 'Hello world'
const nul = null
console.log(Number.isNaN(num1)) //true
console.log(Number.isNaN(num2)) //false
console.log(Number.isNaN(str)) //false
console.log(Number.isNaN(nul)) //false
// 주어진 값(숫자, 문자)을 파싱(분석)해 특정 진수(radix)의 정수로 반환
const str = '3.1415926535'
const num = 3.14159236535
console.log(Number.parseInt(str, 10))
console.log(Number.parseInt(num, 10))
// 주어진 값(숫자, 문자)을 파싱해 부동소수점 실수로 반환(숫자)합니다.
// 주어진 값(숫자, 문자)을 파싱(분석)해 특정 진수(radix)의 정수로 반환
const str = '3.1415926535'
const num = 3.14159236535
console.log(Number.parseFloat(str))
console.log(Number.parseFloat(num))
// 주어진 숫자의 절댓값을 반환
console.log(Math.abs(2)) //2
console.log(MAth.abs(-2)) //2
// 주어진 숫자를 올림해 정수를 반환
console.log(Math.ceil(3.1415926535)) //4
// 주어진 숫자를 내림해 정수를 반환
console.lo(Math.ceil(3.1415926535)) //3
// 주어진 숫자 중 가장 큰 숫자를 반환
console.log(Math.max(1,22,38,192)) //192
// 주어진 숫자 중 가장 작은 숫자 반환
console.log(Math.min(1,22,38,192)) //1
console.log(Math.max(1,22,-10, 38,192)) // -10
// 주어진 숫자의 거듭제곱한 값을 반환
console.log(Math.pow(4,2)) //16
console.log(Math.pow(7,2)) // 49
console.log(Math.pow(10,3)) //1000
// 숫자 0 이상, 1 미만의 난수를 반환(랜덤)
console.log(Math.random()) // 랜덤으로 아무 숫자
// 특정 범위의 랜덤 정수를 얻는 함수
function random(min = 0, max = 10) {
return Math.floor (Math.random() * (max - min)) + min
}
console.log(random())
console.log(random(11,20))
console.log(random(101,999))
// 주어진 숫자를 반올림해 정수를 반환
const num1 = 3.141
const num2 = 3.768
console.log(Math.round(num1)) // 3
console.log(Math.round(num2)) // 4
const date = new Date()
console.log(date)
// 타임 스탬프 - 'Wed Sep 28 2022 10:45:41 GMT+0900 (한국 표준시)'
const d1 = new Date(2022, 11, 16, 12, 57, 30)
console.log(d1)
const d2 = new Date('Wed Sep 28 2022 10:45:41 GMT+0900 (한국 표준시)')
console.log(d2)
console.log(d2.getFullYear()) // 출력 : 2022 -> 인스턴스에 붙여서 사용하는 메소드이므로 프로토타입 메소드
const date = new Date()
console.log(date)
// 타임 스탬프 - 'Wed Sep 28 2022 10:45:41 GMT+0900 (한국 표준시)'
const d1 = new Date(2022, 11, 16, 12, 57, 30)
console.log(d1)
const d2 = new Date('Wed Sep 28 2022 10:45:41 GMT+0900 (한국 표준시)')
console.log(d2)
console.log(d2.getFullYear()) // 출력 : 2022 -> 인스턴스에 붙여서 사용하는 메소드이므로 프로토타입 메소드
// 날짜 인스턴드세어 '월'을 반환하거나 지정
// 0부터 시작(Zero-base numbering)을 합니다.
const date = new Date()
console.log(date.getMonth()) // 8
console.lot(date)
date.setMonth(0)
console.log(date.getMonth()) // 0
console.log(date)
// 날짜 인스턴스의 '일'을 반환하거나 지정
const date = new Date()
console.log(date.getDate()) //28
console.log(date)
date.setDate(11)
console.log(date.getDate()) //11
console.log(data)
// 날짜 인스턴스의 '시간'을 반환하거나 지정
const date = new Date()
console.log(date.getHours()) // 15 (오후3시)
console.log(date)
date.setHours(7)
console.log(date.getHours()) // 7
console.log(data)
// 날짜 인스턴스의 '분'을 반환하거나 지정
const date = new Date()
console.log(date.getMinutes()) // 48
console.log(date)
date.setMinutes(2)
console.log(date.getMinutes()) // 2
console.log(data)
// 날짜 인스턴스의 '초'를 반환하거나 지정
const date = new Date()
console.log(date.getSeconds()) // 38
console.log(date)
date.setSeconds(57)
console.log(date.getSeconds()) // 57
console.log(data)
// 날짜 인스턴스의 '요일'을 반환 (지정 . set은 안된다)
// 날짜 인스턴스의 '초'를 반환하거나 지정
const date = new Date()
const day = date.getDay()
console.log(day) //3
console.log(getDayKo(day)) // 수요일
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 '토요일'
}
}
// '1970-01-01 00:00:00'(유닉스타임)부터 경과한,
// 날짜 인스턴스의 '밀리초(ms)'로 반환하거나 지정
const date = new Date()
console.log(date.getTime())
console.log(date)
date.setTime(170000000000)
console.log(date.getTime())
console.log(date)
예제
// '1970-01-01 00:00:00'(유닉스타임)부터 경과한,
// 날짜 인스턴스의 '밀리초(ms)'로 반환하거나 지정
Date.prototype.isAfter = function (date) {
const a = this.getTime()
const v = date.getTime()
console.log(a)
console.log(b)
return a > b
}
const d1 = new Date('Sat Jan 01 2022 00:00:00 GMT+0900 (한국 표준시)')
const d2 = new Date('Sun Jan 01 2023 00:00:00 GMT+0900 (한국 표준시)')
console.log(d1.isAfter(d2)) //false
console.log(d2.isAfter(d1)) //true
// '1970-01-01 00:00:00'(유닉스타임)부터 경과한,
// 메소드가 호출될 때의 '밀리초(ms)'로 반환
const time = new Date().getTime()
console.log(Date.now())
console.log(time)
setTimeout(() => {
console.log(Date.now())
console.log(time)
}, 1000)