let obj = {a: 'hi', b:'hello', c:2};
console.log(Object.keys(obj));
// Array ['a', 'b', 'c'];
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.entries(anObj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]
const arr = [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }
Object.is(value1, value2)
javascript의 기본 comparison operators인 '==' 와 '===' 와는 다르게 작동하는 비교 수단이다.
'==='과 거의 같으나, 아래의 경우가 다르다.
Object.is(0, -0); // true
Object.is(-0, -0); // true
Object.is(NaN, 0/0); // true
Date 객체는 날짜와 시간(년, 월, 일, 시, 분, 초, 밀리초(천분의 1초(millisecond, ms)))을 위한 메소드를 제공하는 빌트인 객체이면서 생성자 함수이다.
Date 생성자 함수로 생성한 Date 객체는 내부적으로 숫자값을 갖는다. 이 값은 1970년 1월 1일 00:00(UTC)을 기점으로 현재 시간까지의 밀리초를 나타낸다.
UTC(협정 세계시: Coordinated Universal Time)는 GMT(그리니치 평균시: Greenwich Mean Time)로 불리기도 하는데 UTC와 GMT는 초의 소숫점 단위에서만 차이가 나기 때문에 일상에서는 혼용되어 사용된다. 기술적인 표기에서는 UTC가 사용된다.
KST(Korea Standard Time)는 UTC/GMT에 9시간을 더한 시간이다. 즉, KST는 UTC/GMT보다 9시간이 빠르다. 예를 들어, UTC 00:00 AM은 KST 09:00 AM이다.
현재의 날짜와 시간은 자바스크립트 코드가 동작한 시스템의 시계에 의해 결정된다. 시스템 시계의 설정(timezone, 시간)에 따라 서로 다른 값을 가질 수 있다.
let dd = new Date();
let Y = dd.getUTCFullYear(); // or dd.getFullYear();
let M = String(dd.getUTCMonth()+1).padStart(2, '0');
let D = dd.getUTCDate();
let h = dd.getUTCHours();
let m = dd.getUTCMinutes();
let s = dd.getUTCSeconds();
let ms = dd.getUTCMilliseconds();
let format = [Y, M, D].join('-') + 'T' + [h, m, s].join(':') + '.' + `${ms}` + 'Z';
// 결과값 '2019-06-16T16:41:48.5Z'
Date를 string으로 원하는 형식으로 포맷하는 등의 작업을 할 때, 자릿수를 맞춰주면서 + 빈 자릿수를 무엇으로 메꿔줄지 정하는 Method이다.
Example
const str1 = '5';
console.log(str1.padStart(2, '0'));
// expected output: "05"
const fullNumber = '2034399002125581';
const last4Digits = fullNumber.slice(-4);
const maskedNumber = last4Digits.padStart(fullNumber.length, '*');
console.log(maskedNumber);
// expected output: "************5581"
Map object의 key로 null 등도 올 수 있나요?