표준 내장 객체

현성·2023년 12월 1일
1

String

length

  • 문자의 길이를 반환합니다.
const str = "Hello World!";

console.log(str.length); // 12

includes()

  • 인수로 작성한 문자가 있는지 확인합니다.
  • 몇 번째 인덱스부터 문자를 찾을 것인지를 숫자 데이터로 두 번째 인수에 넣어줄 수 있습니다.
const str = "Hello World!";

console.log(str.includes("Hello")); // true
console.log(str.includes("Hello!")); // false
console.log(str.includes("hello")); // false

console.log(str.includes("Hello", 1)); // false

if (!str.includes("lim")) {
  console.log("찾으시는 문자가 없습니다."); // 찾으시는 문자가 없습니다.
}

indexOf()

  • 인수에 작성한 문자가 몇 번째 인덱스부터 시작하는 지 반환합니다.
  • 인수에 작성한 문자를 찾지 못하면 -1을 반환합니다.
const str = "Hello World!";

console.log(str.indexOf("Hello")); // 0
console.log(str.indexOf("World")); // 6

console.log(str.indexOf("lim")); // -1

if (str.indexOf("lim") === -1) {
  console.log("찾으시는 문자가 없습니다."); // 찾으시는 문자가 없습니다.
}

padEnd()

  • 대상 문자의 길이(length)가 지정된 길이보다 작으면 주어진 문자를 지정된 길이까지 끝에 붙여 새로운 문자를 반환합니다.
  • 원본 문자는 수정시키지 않습니다.
  • 대상 문자의 길이가 지정된 길이보다 길 경우 원본 문자를 반환합니다.
const str = "1234567";

console.log(str.padEnd(10, "0")); // 1234567000
console.log(str) // 1234567

padStart()

  • padEnd와 비슷한 개념으로 padEnd가 끝에 문자를 붙였다면 padStart는 앞에 붙힙니다.
const str = "12345";

console.log(str.padStart(10, "!")); // !!!!!12345
console.log(str); // 12345

replace()

  • 대상 문자에서 패턴(문자, 정규식)과 일치하는 부분을 교체한 새로운 문자를 반환합니다.
const str = "Hello, Hello?!";

console.log(str.replace("Hello", "Hi")); // Hi, Hello?!
console.log(str.replace(/Hello/g, "Hi")); // Hi, Hi?!
console.log(str); // Hello, Hello?!

slice()

  • 대상 문자의 일부를 추출해 새로운 문자를 반환합니다.
  • 두 번째 인수 직전까지 추출하고, 두 번째 인수를 생략하면 대상 문자의 끝까지 추출합니다.
const str = "Hello World!";

console.log(str.slice(0, 5)); // Hello
console.log(str.slice(6, -1)); // World
console.log(str.slice(6)); // World!
console.log(str); // Hello World!

split()

  • 대상 문자를 주어진 구분자로 나눠 배열로 반환합니다.
const str = "Apple, Banana, Cherry";

console.log(str.split(", ")); // [Apple, Banana, Cherry]
console.log(str.split(",")); // ['Apple', ' Banana', ' Cherry']
console.log(str.split("")); // ['A', 'p', 'p', 'l', 'e', ',', ' ', 'B', 'a', 'n', 'a', 'n', 'a', ',', ' ', 'C', 'h', 'e', 'r', 'r', 'y']

toLowerCase()

  • 대상 문자를 영어 소문자로 변환해 새로운 문자로 반환합니다.
const str = "Apple, Banana, Cherry";

console.log(str.toLowerCase()); // apple, banana, cherry

toLowerCase()

  • 대상 문자를 영어 대문자로 변환해 새로운 문자로 반환합니다.
const str = "Apple, Banana, Cherry";

console.log(str.toUpperCase()); // APPLE, BANANA, CHERRY

trim()

  • 대상 문자의 앞뒤 공백 문자(space, tab 등)를 제거한 새로운 문자를 반환합니다.
const str = "    This is String !!!   ";

console.log(str.trim()); // This is String !!!
console.log(str); //     This is String !!!   

Number

toFixed()

  • 숫자를 지정된 고정 소수점 표기(자릿수)까지 표현하는 문자로 반환합니다.
const num = 3.14159226535;

console.log(num.toFixed(2)); // 3.14 (string)
console.log(parseFloat(num.toFixed(2))); // 3.14 (number)

toLocaleString()

  • 숫자를 현지 언어 형식의 문자로 반환합니다.
const num = 1000000;

console.log(num.toLocaleString()); // 1,000,000
console.log(`${num.toLocaleString()}`); // 1,000,000원

Number.isInteger()

  • 숫자가 정수(integer)인지 확인합니다.
  • 클래스에 붙여 사용하는 정적 메소드입니다.
const num = 1000000;
const pi = 3.14;

console.log(Number.isInteger(num)); // true
console.log(Number.isInteger(pi)); // false

Number.isNaN()

  • 주어진 값이 NaN인지 확인합니다.
const num1 = NaN;
const num2 = 123;
const str = "Hello world";
const nul = null;

console.log(Number.isNaN(num1));
console.log(Number.isNaN(num2));
console.log(Number.isNaN(str));
console.log(Number.isNaN(nul));

Number.parseInt() / parseInt()

  • 주어진 값(숫자, 문자)을 파싱해 특정 진수(radix)의 정수로 반환합니다.
const str = "3.1415926535";
const num = 3.1415926535;

console.log(Number.parseInt(str, 10)); // 3
console.log(Number.parseInt(num, 10)); // 3

console.log(parseInt(str, 10)); // 3
console.log(parseInt(num, 10)); // 3

Number.parseFloat() / parseFloat()

  • 주어진 값(숫자, 문자)을 파싱해 부동소수점 실수로 반환(숫자)합니다.
const str = "3.1415926535";
const num = 3.1415926535;

console.log(Number.parseFloat(str)); // 3.1415926535
console.log(Number.parseFloat(num)); // 3.1415926535

console.log(parseFloat(str)); // 3.1415926535
console.log(parseFloat(num)); // 3.1415926535

Math

Math 는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다. 함수 객체가 아닙니다.

Math.abs()

  • 주어진 숫자의 절댓값을 반환합니다.
console.log(Math.abs(2)); // 2
console.log(Math.abs(-2)); // 2

Math.ceil()

  • 주어진 숫자를 올림해 정수를 반환합니다.
console.log(Math.ceil(3.1415926535)) // 4

Math.floor()

  • 주어진 숫자를 내림해 정수를 반환합니다.
console.log(Math.floor(3.1415926535)); // 3

Math.max()

  • 주어진 숫자 중 가장 큰 숫자를 반환합니다.
console.log(Math.max(1, 22, 38, 192)); // 192

Math.min()

  • 주어진 숫자 중 가장 작은 숫자를 반환합니다.
console.log(Math.min(1, 22, 38, 192)); // 1

Math.pow()

  • 주어진 숫자의 거듭제곱한 값을 반환합니다.
console.log(Math.pow(4, 2)); // 16
console.log(Math.pow(7, 2)); // 49
console.log(Math.pow(10, 3)); // 1000

Math.random()

  • 숫자 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));

Math.round()

  • 주어진 숫자를 반올림해 정수를 반환합니다.
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); // Thu Nov 30 2023 17:32:17 GMT+0900 (한국 표준시)
const d1 = new Date(2023, 10, 30, 12, 57, 30); // 년, 월(zero-based numbering), 일, 시, 분, 초
console.log(d1); // Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)

const d2 = new Date("Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)");
console.log(d2); // Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)
console.log(d2.getFullYear()); // 2023

getFullYear() / setFullYear()

  • 날짜 인스턴스의 '연도'를 반환하거나 지정합니다.
const date = new Date();

console.log(date.getFullYear()); // 2023

date.setFullYear(2024);

console.log(date.getFullYear()); // 2024

getMonth() / setMonth()

  • 날짜 인스턴스의 '월'을 반환하거나 지정합니다.
  • 0부터 시작(Zero-based numbering)합니다.
const date = new Date();

console.log(date.getMonth()); // 10

date.setMonth(11);

console.log(date.getMonth()); // 11

getDate() / setDate()

  • 날짜 인스턴스의 '일'을 반환하거나 지정합니다.
const date = new Date();

console.log(date.getDate()); // 30

date.setDate(1);

console.log(date.getDate()); // 1

getHours() / setHours()

  • 날짜 인스턴스의 '시간'을 반환하거나 지정합니다.
const date = new Date();

console.log(date.getHours()); // 17

date.setHours(1);

console.log(date.getHours()); // 1

getMinutes() / setMinutes()

  • 날짜 인스턴스의 '분'을 반환하거나 지정합니다.
const date = new Date();

console.log(date.getMinutes()); // 47

date.setMinutes(1);

console.log(date.getMinutes()); // 1

getSeconds() / setSeconds()

  • 날짜 인스턴스의 '초'를 반환하거나 지정합니다.
const date = new Date();

console.log(date.getSeconds()); // 40

date.setSeconds(1);

console.log(date.getSeconds()); // 1

getDay()

  • 날짜 인스턴스의 '요일'을 반환합니다.
const date = new Date();
const day = date.getDay();

console.log(day); // 4
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 "토요일";
  }
}

getTime() / setTime()

  • 1970-01-01 00:00:00(유닉스 타임) 부터 경과한 날짜 인스턴스의 '밀리초(ms)'로 반환하거나 지정합니다.
const date = new Date();

console.log(date.getTime()); // 1701334451091
console.log(date); // Thu Nov 30 2023 17:54:11 GMT+0900 (한국 표준시)

date.setTime(170000000000);
console.log(date.getTime()); // 170000000000
console.log(date); // Thu May 22 1975 23:13:20 GMT+0900 (한국 표준시)

Date.new()

  • 1970-01-01 00:00:00(유닉스 타임) 부터 경과한 메소드가 호출될 때의 '밀리초(ms)'로 반환합니다.
const time = new Date().getTime();
console.log(Date.now()); // 1701335084319
console.log(time); // 1701335084319

setTimeout(() => {
  console.log(Date.now()); // 1701335085325
  console.log(time); // 1701335084319
}, 1000);

배열

length

  • 배열의 길이(숫자)를 반환합니다.
const arr = ["A", "B", "C"];

console.log(arr.length); // 3

at()

  • 대상 배열을 인덱싱합니다.
  • 음수 값을 사용하면 뒤에서부터 인덱싱합니다.
  • 마지막 요소를 인덱싱할 때 유용합니다.
const arr = ["A", "B", "C"];

console.log(arr[0]); // A
console.log(arr.at(0)); // A

console.log(arr[arr.length - 1]); // C
console.log(arr.at(-1)); // C

concat()

  • 대상 배열과 주어진 배열을 병합해 새로운 배열을 반환합니다.
const arr1 = ["A", "B", "C"];
const arr2 = ["D", "E", "F"];
const arr3 = arr1.concat(arr2);
// const arr3 = [...arr1, ...arr2]; 도 같은 배열입니다.

console.log(arr1); // ["A", "B", "C"]
console.log(arr2); // ["D", "E", "F"]
console.log(arr3); // ["A", "B", "C", "D", "E", "F"]

every()

  • 대상 배열의 모든 요소가 콜백 테스트에서 참(Truthy)을 반환하는지 확인합니다.
const arr = [1, 2, 3, 4];
const isValid = arr.every((item) => item < 5);

console.log(isValid); // true

filter()

  • 주어진 콜백 테스트를 통과(참(Truthy)을 반환)하는 모든 요소를 새로운 배열로 반환합니다.
  • 모든 요소가 테스트를 통과하지 못하면 빈 배열을 반환합니다.
const numbers = [1, 20, 7, 9, 104, 0, 58];
const filteredNumbers = numbers.filter((number) => number < 20);

console.log(filteredNumbers); // [1, 7, 9 ,0]
const users = [
  { name: "Neo", age: 20 },
  { name: "Amy", age: 10 },
  { name: "Lewis", age: 40 },
];

const adults = users.filter((user) => user.age >= 19);

console.log(adults); // [{ name: "Neo", age: 20 }, { name: "Lewis", age: 40 }]

find()

  • 대상 배열에서 콜백 테스트를 통과하는 첫 번째 요소를 반환합니다.
const arr = [5, 8, 130, 12, 44];
const foundItem = arr.find((item) => item > 10);

console.log(foundItem); // 130
const users = [
  { name: "Neo", age: 20 },
  { name: "Amy", age: 10 },
  { name: "Lewis", age: 40 },
];

const foundUser = users.find((user) => user.name === "Amy");
console.log(foundUser); // { name: "Amy", age: 10 }

findIndex()

  • 대상 배열에서 콜백 테스트를 통과하는 첫 번째 요소의 인덱스를 반환합니다.
const arr = [5, 8, 130, 12, 44];

const index = arr.findIndex((item) => item > 10);
console.log(index); // 2

flat()

  • 대상 배열의 모든 하위 배열을 지정한 깊이(Depth)까지 이어붙인 새로운 배열을 생성합니다.
  • 하위 배열이란 배열 안의 배열을 의미합니다.
  • 깊이의 기본값은 1입니다.
const arr = [1, 2, [3, 4, [5, 6, [7, 8]]]];

console.log(arr.flat()); // [1, 2, 3, 4, [5, 6, [7, 8]]]
console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6, [7, 8]]
console.log(arr.flat(3)); // [1, 2, 3, 4, 5, 6, 7, 8]
console.log(arr.flat(Infinity)); // [1, 2, 3, 4, 5, 6, 7, 8]

forEach()

  • 대상 배열의 길이만큼 주어진 콜백을 실행합니다.
const arr = ["A", "B", "C"];

arr.forEach((item) => console.log(item)); // A B C

for (let i = 0; i < arr.length; i += 1) {
  if (i < 1) {
    break;
  }
  console.log(arr[i]); // A B
}

includes()

  • 대상 배열의 특정 요소를 포함하고 있는지 확인합니다.
const arr = [1, 2, 3];

console.log(arr.includes(2)); // true
console.log(arr.includes(7)); // false
const fruits = ["Apple", "Banana", "Cherry"];

console.log(fruits.includes("Apple")); // true
console.log(fruits.includes("cherry")); // false
const users = [
  { name: "Neo", age: 20 },
  { name: "Amy", age: 30 },
  { name: "Lewis", age: 40 },
];

console.log(users.includes({ name: "Neo", age: 20 })); // false

const neo = users[0];
console.log(users.includes(neo)); // true

join()

  • 대상 배열의 모든 요소를 구분자로 연결한 문자를 반환합니다.
const arr = ["Apple", "Banana", "Cherry"];

console.log(arr.join()); // Apple,Banana,Cherry
console.log(arr.join(",")); // Apple,Banana,Cherry
console.log(arr.join(", ")); // Apple, Banana, Cherry
console.log(arr.join("/")); // Apple/Banana/Cherry

map()

  • 대상 배열의 길이만큼 주어진 콜백을 실행하고, 콜백의 반환 값을 모아 새로운 배열을 반환합니다.
const numbers = [1, 2, 3, 4];
const newNumbers = numbers.map((item) => item * 2);

console.log(newNumbers); // [2, 4, 6, 8]
console.log(numbers); // [1, 2, 3, 4]
const users = [
  { name: "Neo", age: 20 },
  { name: "Amy", age: 30 },
  { name: "Lewis", age: 40 },
];

const newUsers = users.map((user) => {
  return {
    ...user,
    isValid: true,
    email: null,
  };
});

console.log(newUsers);

pop()

  • 대상 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다.
  • 대상 배열 원본이 변경됩니다.
const fruits = ["Apple", "Banana", "Cherry"];

console.log(fruits.pop()); // Cherry
console.log(fruits); // ["Apple", "Banana"]

push()

  • 대상 배열의 마지막에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다.
  • 대상 배열 원본이 변경됩니다.
const fruits = ["Apple", "Banana", "Cherry"];

const newLength = fruits.push("Orange");
console.log(newLength); // 4
console.log(fruits); // ["Apple", "Banana", "Cherry", "Orange"]

fruits.push("Mango", "Strawberry");
console.log(fruits); // ["Apple", "Banana", "Cherry", "Orange", "Mango", "Strawberry"]

reduce()

  • 대상 배열의 길이만큼 주어진 콜백을 실행하고, 마지막에 호출되는 콜백의 반환 값을 반환합니다.
  • 각 콜백의 반환 값은 다음 콜백으로 전달됩니다.
const numbers = [1, 2, 3];
const sum = numbers.reduce((accumulator, currentValue) => {
  return accumulator + currentValue;
}, 0);

console.log(sum); // 6
  • 간결한 코드 ⬇️
const numbers = [1, 2, 3];
const sum = numbers.reduce((acc, cur) => acc + cur, 0);

console.log(sum); // 6

const users = [
  { name: "Neo", age: 22 },
  { name: "Amy", age: 31 },
  { name: "Lewis", age: 48 },
];

// 총 나이 계산
const totalAge = users.reduce((acc, cur) => acc + cur.age, 0);
console.log(totalAge); // 101
console.log(`평균 나이: ${(totalAge / users.length).toFixed(1)}`); // 평균 나이: 33.7세

// 모든 이름 추출 (메소드 체이닝 사용)
const names = users
  .reduce((acc, cur) => {
    acc.push(cur.name);
    return acc;
  }, [])
  .join(", ");
console.log(names); // Neo, Amy, Lewis

reverse()

  • 대상 배열의 순서를 반전합니다.
  • 대상 배열 원본이 변경됩니다.
const arr = ["A", "B", "C"];
const reversed = arr.reverse();

console.log(reversed); // ["C", "B", "A"]
console.log(arr); // ["C", "B", "A"]

shift()

  • 대상 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다.
  • 대상 배열 원본이 변경됩니다.
const arr = ["A", "B", "C"];

console.log(arr.shift()); // A
console.log(arr); // ["B", "C"]

slice()

  • 대상 배열의 일부를 추출해 새로운 배열을 반환합니다.
  • 두 번째 인수 직전까지 추출하고, 두 번째 인수를 생략하면 대상 배열의 끝까지 추출합니다.
const arr = ["A", "B", "C", "D", "E", "F", "G"];

console.log(arr.slice(0, 3)); // ["A", "B", "C"]
console.log(arr.slice(4, -1)); // ["E", "F"]
console.log(arr.slice(4)); // ["E", "F", "G"]
console.log(arr); // ["A", "B", "C", "D", "E", "F", "G"]

some()

  • 대상 배열의 어떤 요소라도 콜백 테스트를 통과하는지 확인합니다.
const arr = [1, 2, 3, 4];
const isVaild = arr.some((item) => item > 3);

console.log(isVaild); // true
const arr = [1, 2, 3, 4];
const isVaild = arr.some((item) => item > 4);

console.log(isVaild); // false

sort()

  • 대상 배열을 콜백의 반환 값(음수, 양수, 0)에 따라 정렬합니다.
  • 콜백을 제공하지 않으면, 요소를 문자열로 변환하고 유니코드 코드 포인트 순서로 정렬합니다.
  • 대상 배열 원본이 변경됩니다.
const numbers = [4, 17, 2, 103, 3, 1, 0];

numbers.sort();
console.log(numbers); // [0, 1, 103, 17, 2, 3, 4]

numbers.sort((a, b) => a - b);
console.log(numbers); // [0, 1, 2, 3, 4, 17, 103]

numbers.sort((a, b) => b - a);
console.log(numbers); // [103, 17, 4, 3, 2, 1, 0]

const users = [
  { name: "Neo", age: 31 },
  { name: "Amy", age: 22 },
  { name: "Lewis", age: 48 },
];

users.sort((a, b) => a.age - b.age);
console.log(users); // 나이 순으로 정렬

users.sort((a, b) => b.age - a.age);
console.log(users); // 나이 역순으로 정렬

splice()

  • 대상 배열에 요소를 추가하거나 삭제하거나 교체합니다.
  • 대상 배열 원본이 변경됩니다.
  • splice(변경할 요소의 인덱스, 삭제할 요소의 갯수, 추가할 요소)
const arr = ["A", "B", "C"];
arr.splice(2, 0, "X");

console.log(arr); // ["A", "B", "X", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 1);

console.log(arr); // ["A", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 2);

console.log(arr); // ["A"]
const arr = ["A", "B", "C"];
arr.splice(1, 1, "X");

console.log(arr); // ["A", "X", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 2, "X");

console.log(arr); // ["A", "X"]

unshift()

  • 새로운 요소를 대상 배열의 맨 앞에 추가하고 새로운 배열의 길이를 반환합니다.
  • 대상 배열 원본이 변경됩니다.
const arr = ["A", "B", "C"];

console.log(arr.unshift("X")); // 4
console.log(arr); // ["X", "A", "B", "C"]

Array.from()

  • 유사 배열(Array-like)을 실제 배열로 반환합니다.
const arraylike = {
  0: "A",
  1: "B",
  2: "C",
  length: 3,
};

console.log(arraylike.constructor === Array); // false
console.log(arraylike.constructor === Object); // true

Array.from(arraylike).forEach((item) => console.log(item)); // A B C

Array.isArray()

  • 배열 데이터인지 확인합니다.
const array = ["A", "B", "C"];
const arraylike = {
  0: "A",
  1: "B",
  2: "C",
  length: 3,
};

console.log(Array.isArray(array)); // true
console.log(Array.isArray(arraylike)); // false

객체

Object.assign()

  • 하나 이상의 출처(Source) 객체로부터 대상(Target) 객체로 속성을 복사하고 대상 객체를 반환합니다.
const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = Object.assign(target, source1, source2);

console.log(target); // {a: 1, b: 3, c: 5, d: 6}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}
const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = Object.assign({}, target, source1, source2);

console.log(target); // {a: 1, b: 2}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}

전개 연산자를 활용하여 다음과 같이 코드를 작성할 수 있습니다.

const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = {
  ...target,
  ...source1,
  ...source2,
};

console.log(target); // {a: 1, b: 2}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}

Object.entries()

  • 주어진 객체의 각 속성과 값으로 하나의 배열을 만들어 요소로 추가한 2차원 배열을 반환합니다.
const user = {
  name: "HS",
  age: 22,
  isValid: true,
  email: "asd@gmail.com",
};

console.log(Object.entries(user));

for (const [key, value] of Object.entries(user)) {
  console.log(key, value);
}

Object.keys()

  • 주어진 객체의 속성 이름을 나열한 배열을 반환합니다.
const user = {
  name: "HS",
  age: 22,
  isValid: true,
  email: "asd@gmail.com",
};

console.log(Object.keys(user)); // ['name', 'age', 'isValid', 'email']

Object.values()

  • 주어진 객체의 속성 값을 나열한 배열을 반환합니다.
const user = {
  name: "HS",
  age: 22,
  isValid: true,
  email: "asd@gmail.com",
};

console.log(Object.values(user)); // ['HS', 22, true, 'asd@gmail.com']

JSON (JavaScript Object Notation)

  • 데이터 전달을 위한 표준 포맷

  • 문자, 숫자, 불린, Null, 객체, 배열만 사용

  • 문자는 큰 따옴표만 사용

  • 후행 쉼표 사용 불가

  • .json 확장자 사용

  • JSON.stringify() : 데이터를 JSON 문자로 변환합니다.

  • JSON.parse() : JSON 문자를 분석해 데이터로 변환합니다.

console.log(JSON.stringify("Hello world!"));
console.log(JSON.stringify(123));
console.log(JSON.stringify(false));
console.log(JSON.stringify(null));
console.log(JSON.stringify({ name: "AA", age: 20 }));
console.log(JSON.stringify([1, 2, 3]));

console.log(JSON.parse('"Hello world!"'));
console.log(JSON.parse("123"));
console.log(JSON.parse("false"));
console.log(JSON.parse("null"));
console.log(JSON.parse('{"name": "AA", "age": 20}'));
console.log(JSON.parse("[1, 2, 3]"));
profile
👈🏻 매일 꾸준히 성장하는 개발자 !

0개의 댓글