유데미 강의 JavaScript 완벽 가이드 : 초급 + 고급 마스터 과정을 들으면서 자바스크립트를 다시 한 번 익히는 중이다. 계속되는 포스팅에서 강의를 듣고 미처 몰랐던 부분, 심화 이해가 필요한 부분에 대해 주제별로 간단하게 기록하겠다.

const userId = 'u123';
const user = {name : 'Hong', age:30};
document.cookie = `uid=${userId}`;
document.cookie = `user=${JSON.stringify(user)}`;
const cookieData = document.cookie.split('');
const data = cookieData.map(i => i.trim())
console.log(data); // ["uid=u123", "user={"name":"Hong","age","30"}"]
// 만료 기간 설정
document.cookie = `uid=${userId}; max-age=2`;
const storeBtn = document.getElementById('store-btn');
const retrBtn = document.getElementById('retrieve-btn');
let db;
// open(데이터베이스명, 버전)
const dbRequest = indexedDB.open('storageDummy', 1);
dbRequest.onsuccess = function (e) {
db = e.target.result;
};
dbRequest.onupgradeneeded = function (e) {
db = e.target.result;
// 객체 저장소 생성
const objStore = db.createObjectStore('products', { keyPath: 'id' });
objStore.transaction.oncomplete = function (e) {
// readwrite or readonly
const productsStore = db
.transaction('products', 'readwrite')
.objectStore('products');
productsStore.add({
id: 'p1',
title: 'First product',
price: 20,
tags: ['Expensive', 'Luxury'],
});
};
};
dbRequest.onerror = function (e) {
console.log('Error');
};
storeBtn.addEventListener('click', () => {
if (!db) return;
const productsStore = db
.transaction('products', 'readwrite')
.objectStore('products');
productsStore.add({
id: 'p2',
title: 'Second product',
price: 50,
tags: ['Expensive', 'Luxury'],
});
});
retrBtn.addEventListener('click', () => {
const productsStore = db
.transaction('products', 'readwrite')
.objectStore('products');
const request = productsStore.get('p2');
request.onsuccess = function () {
console.log(request.result);
};
});