var 문자열 = JSON.stringify(객체)
var 객체 = JSON.parse(문자열)
예시
// 객체 생성
var person = {
name: '홍길동',
age: 30
};
// 객체 -> 문자열
var str = JSON.stringify(person);
console.log(typeof str, str);
// 문자열 -> 객체
var person = JSON.parse(str);
console.log(typeof person, person);
1.타임스탬프 기반으로 날짜와 시간을 나타낸다.
(타임스탬프 : 1970년 1월 1일 자정 UTC 기준으로 증가하고 있는 밀리초)
2. 타임스탬프, 년, 월, 일, 시, 분, 초 등 원하는 값을 얻을 수 있다.
<script>
// 타임스탬프
var timestamp = Date.now();
console.log(timestamp);
// 문자열 형식의 현재 날짜와 시간
var strNow = Date(); // new Data().toString()
console.log(typeof strNow, strNow);
// 객체 형식의 현재 날짜와 시간
var now = new Date();
console.log(typeof now, now);
// 년,월,일,시,분,초,타임스탬프
var year = now.getFullYear();
var month = now.getMonth(); // 주의! 0 ~ 11
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var timestamp = now.getTime();
console.log(year, month, day, hour, minute, second, timestamp);
// 특정 날짜와 시간을 가진 객체 생성
var someday = new Date(2023, 8, 30, 16, 30, 30); // 2023-09-30 16:30:30 (8월이 아님 주의!)
console.log(someday);
</script>
<script>
var str = 'JavaScript';
// 1. 문자열의 길이
console.log(str.length);
// 2. 특정 문자(지정된 인덱스에 위치하는 문자)
console.log(str.charAt(0));
console.log(str.charAt(str.length - 1));
// 3. 특정 문자열
console.log(str.substring(0, 4)); // 'Java' : 인덱스 0 포함 ~ 인덱스 4 불포함
console.log(str.substring(4)); // 'Script' : 인덱스 4 포함 ~ 끝까지
console.log(str.slice(0, 4)); // 'Java' : 인덱스 0 포함 ~ 인덱스 4 불포함
console.log(str.slice(4)); // 'Script' : 인덱스 4 포함 ~ 끝까지
console.log(str.slice(-10, -6)); // 'Java' : 인덱스 -10 포함 ~ 인덱스 -6 불포함 (마지막 글자의 인덱스 = -1)
console.log(str.slice(-6)); // 'Script' : 인덱스 -6 포함 ~ 끝까지
// 4. 문자열 연결
console.log(str.concat(', ', 'Hello World')); // 'JavaScript, Hello World'
// 5. 특정 패턴으로 시작/특정 패턴으로 끝나는지 검사
console.log(str.startsWith('Java')); // 'Java'로 시작하면 true
console.log(str.endsWith('Script')); // 'Script'로 끝나면 true
// 6. 특정 문자열의 위치(인덱스) 찾기
console.log(str.indexOf('a')); // 1, 'JavaScript'에서 발견된 첫번째 a의 인덱스를 반환
console.log(str.lastIndexOf('a')); // 3, 'JavaScript'에서 발견된 마지막 a의 인덱스를 반환
// 7. 특정 문자열을 주어진 길이가 될 때까지 채우기
console.log(str.substring(0, 4).padEnd(10, '*')); // 'Java******'
console.log(str.substring(4).padStart(10, '*')); // '****Script'
// 8. 주어진 횟수만큼 반복하기
console.log(str.repeat(3));
// 9. 찾아 바꾸기
var str = '192.168.0.101';
console.log(str.replace('.', '_')); // '192.168.0.101' -> '192_168.0.101'
console.log(str.replaceAll('.', '_')); // '192.168.0.101' -> '192_168_0_101'
// 10. 대소문자 변환하기
var str = 'JavaScript';
console.log(str.toLowerCase()); // 'JavaScript' -> 'javascript'
console.log(str.toUpperCase()); // 'JavaScript' -> 'JAVASCRIPT'
// 11. 문자열 앞뒤로 포함된 불필요한 공백 제거하기
var str = ' Java Script ';
console.log('[' + str.trim() + ']');
console.log('[' + str.trimStart() + ']'); // alias 가능 : trimLeft()
console.log('[' + str.trimEnd() + ']'); // alias 가능 : trimRight()
// 12. 문자열 객체의 문자열 값 반환
var str = new String('JavaScript');
console.log(str); // 객체 {'JavaScript'}
console.log(str.valueOf()); // 문자열 'JavaScript'
// 13. 문자열을 분리해서 배열로 만들기
var str = 'Hello tom Nice to meet you!';
var words = str.split(' '); // words = ['Hello', 'tom', 'Nice', 'to', 'meet', 'you!']
console.log(words[1]); // 'tom'
</script>
<script>
var array = ['travel', 'fitness', 'movie', 'tracking', 'fishing'];
// 1. 반복 메소드
array.forEach(function(element){
console.log(element);
});
array.forEach(function(element, i){
console.log(i + ':' + element);
})
// 2. 필터 (지정한 조건을 만족하는 요소만 남긴 배열 만들기)
// array.filter((요소) => 요소 검사);
var result = array.filter((element) => element.length > 6); // 길이가 6보다 큰 요소만 남긴 배열 반환
console.log(result);
// 3. 배열 요소를 변경하기
// array.map((요소) => 변경할 값)
var array = [1, 2, 3, 4, 5];
var map = array.map((element) => element ** 2); // 모든 요소를 2제곱 값으로 바꾼 배열 반환
console.log(map);
// 4. 배열 요소를 합쳐서 문자열로 반환하기
var array = ['travel', 'fitness', 'movie', 'tracking', 'fishing'];
console.log(array.join()); // 콤마(,)로 연결 (디폴트)
console.log(array.join(' ')); // 공백으로 연결
</script>
<script>
console.log(Math.abs(-5)); // 5 , -5의 절대값
console.log(Math.ceil(7.1)); // 8 , 7.1의 정수 올림값
console.log(Math.ceil(-7.1)); // -7 , -7.1의 정수 올림값
console.log(Math.floor(7.1)); // 7 , 7.1의 정수 내림값
console.log(Math.floor(-7.1)); // -8 , -7.1의 정수 내림값
console.log(Math.round(7.1)); // 7 , 7.1의 정수 반올림
console.log(Math.round(-7.1)); // -7 , -7.1의 정수 반올림
console.log(Math.trunc(7.1)); // 7 , 7.1의 소수점 절사
console.log(Math.trunc(-7.1)); // -7 , -7.1의 소수점 절사
console.log(Math.max(1, 2, 3, 4, 5)); // 5, 주어진 값 중 가장 큰 값
console.log(Math.min(1, 2, 3, 4, 5)); // 1, 주어진 값 중 가장 작은 값
var array = [1, 2, 3, 4, 5];
console.log(Math.max(...array)); // 5, 배열의 요소 중 가장 큰 값
console.log(Math.min(...array)); // 1, 배열의 요소 중 가장 작은 값
console.log(Math.pow(2, 3)); // 8, 2의 3제곱
console.log(Math.random()); // 0 <= 난수 < 1
console.log(Math.sqrt(25)); // 5, 루트 25
</script>