HyperText란?
웹사이트 이용되는 문서나, 이미지파일등 모두 포함한 의미
XMLHttpRequest
객체(object)
중 하나이다.key
와 value
로 이루어진 형태key
는 반드시 ""
(큰따옴표) 사용해야된다.(작은따옴표 사용 불가)JSON.stringify(value[, replacer[, space]])
JSON.stringify()
메서드는 객체를 JSON 포맷의 문자열로 변환한다.json = JSON.stringify(["apple", "banana"]);
console.log(`type : ${typeof json}`); // type : string
console.log(json); // ["apple", "banana"]
JSON.stringify()
포함되지 않는다.const rabbit = {
name: "tori",
birthDate: new Date(),
jump: () => {
console.log(`${name} can jump!`);
},
};
json = JSON.stringify(rabbit);
console.log(`type : ${typeof json}`); // type : string
console.log(json); // {"name":"tori","birthDate":"2022-03-18T08:56:58.879Z"}
key
와 value
를 가져올 수 있다.json = JSON.stringify(rabbit, ["name"]);
console.log(json); // ["name":"tori"]
callback
실행시 객체들을 감싸고 있는 objact
가장 처음 실행이 된다.json = JSON.stringify(rabbit, (key, value) => {
console.log(`key: ${key}, value: ${value}`);
return value;
});
// key: , value: [object Object]
// json.js:13 key: name, value: tori
// json.js:13 key: birthDate, value: 2022-03-18T09:38:12.101Z
// json.js:13 key: jump, value: () => {
// console.log(`${name} can jump!`);
// }
JSON.parse(text[, reviver])
const rabbit = {
name: "tori",
birthDate: new Date(),
jump: () => {
console.log(`${name} can jump!`);
},
};
// 객체를 JSON 포맷의 문자열로 변환한다.
const json = JSON.stringify(rabbit);
// JSON 포맷의 문자열을 객체로 변환한다.
const obj = JSON.parse(json);
console.log(`type : ${typeof obj}`); // type : object
console.log(obj); // {name: 'tori', birthDate: '2022-03-19T04:46:30.600Z'}
rabbit
객체는 JSON.stringify()
로 문자열 변환되어 Date()
API를 사용할 수 없게된다.console.log(`type : ${typeof rabbit.birthDate}`); // type : object
console.log(rabbit.birthDate.getFullYear()); // 2022
console.log(`type : ${typeof obj.birthDate}`); // string
console.log(obj.birthDate.getFullYear()); // Error
callback
을 이용한 새로운 Data()
생성 후 반환const obj2 = JSON.parse(json, (key, value) => {
return key === "birthDate" ? new Date(value) : value;
});
console.log(obj2.birthDate.getFullYear());