[JavaScript] Symbol, BigInt

2023. 4. 28. 00:45· JAVASCRIPT

심볼(Symbol)

 

변경이 불가한 데이터로 유일한 식별자를 만들어 데이터를 보호하는 용도로 사용할 수 있다.

// 심볼 (Symbol)
// 변경이 불가한 데이터로, 유일한 식별자를 만들어 데이터를 보호하는 용도로 사용할 수 있다.

// Symbol('설명')
// '설명'은 단순 디버깅을 위한 용도일 뿐, 심볼 값과는 관계가 없음

const sKey = Symbol('Hello World!');
const user = {
  key: '일반 정보!',
  [sKey] : '민감한 정보!'
}

console.log(user.key); // 일반 정보!
console.log(user['key']); // 일반 정보!
console.log(user[sKey]); // 민감한 정보!
console.log(user[Symbol('Hello World!')]); // undefined, sKey에 할당된 것과 완전히 다른 값이기 때문이다.
console.log(sKey); //Symbol(Hello World!)

 

 

BigInt

 

JavaScript는 2^53-1까지의 정수를 안정적으로 표기할 수 있는데, BigInt를 이용하면 이보다 더 큰 정수를 표현할 수 있다.

// BigInt

// BigInt는 길이 제한이 없는 정수(integer)
// 숫자 데이터가 안정적으로 표시할 수 있는 최대치인 2^53-1보다 더 큰 정수를 표현할 수 있다.
// 정수 뒤에 'n'을 붙이거나 'BigInt()'를 호출해 생성

console.log(123456789012345678901234567891234567890); //
console.log(123456789012345678901234567891234567890n); // 1.2345678901234568e+39 123456789012345678901234567891234567890n
console.log(BigInt('123456789012345678901234567891234567890')); // 123456789012345678901234567891234567890n

const a = 11n
const b = 22

// 숫자 -> BigInt
console.log(a + BigInt(b)); // 33n
console.log(typeof(a + BigInt(b))); // bigint

// BigInt -> 숫자
console.log(Number(a)+b); // 33
console.log(typeof(Number(a) + b)); // number​

 

'JAVASCRIPT' 카테고리의 다른 글

[JavaScript] 특정 범위의 랜덤 정수 얻기  (0) 2023.05.04
[JavaScript] Web APIs - History  (0) 2023.04.28
[JavaScript] Web APIs - Location  (0) 2023.04.28
[JavaScript] Web APIs - Console  (0) 2023.04.28
[JavaScript] Web APIs - Cookie  (0) 2023.04.28
'JAVASCRIPT' 카테고리의 다른 글
  • [JavaScript] 특정 범위의 랜덤 정수 얻기
  • [JavaScript] Web APIs - History
  • [JavaScript] Web APIs - Location
  • [JavaScript] Web APIs - Console
Melon Man
Melon Man
Hello World
Melon Man
제발 CPU는 집에서 만들어 씁시다
Melon Man
전체
오늘
어제
  • 분류 전체보기 (644)
    • 직접 만들어 보기 (2)
    • 가내공업 (2)
    • HTML (0)
    • CSS (4)
    • JAVASCRIPT (51)
    • TYPESCRIPT (14)
    • NODE.JS (19)
    • REACT (7)
    • NEXT.JS (1)
    • REACT NATIVE (5)
    • REDUX (2)
    • PYTHON (17)
    • 자료구조 및 알고리즘 (35)
    • 컴퓨터 구조 (9)
    • 운영체제 (7)
    • NETWORK (3)
    • CodeUp 기본 100제 - Python (98)
    • 잡지식 (1)
    • 백준 (347)
    • SWEA (0)
    • GIT (4)
    • C (2)
    • C++ (11)
    • JAVA (2)
    • 객체지향프로그래밍 (0)
    • 정보처리기사 (1)
    • 프로그래머스_SQL (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CodeUp
  • 초보
  • 입문
  • 운영체제
  • mdn
  • event
  • 알고리즘
  • 자료구조
  • 파이썬
  • node.js
  • 다익스트라 알고리즘
  • 기초
  • TypeScript
  • 유니온 파인드
  • 백준
  • C++
  • React
  • 자바스크립트
  • 함수
  • input
  • 입출력
  • Node
  • 표준내장객체
  • 코드업
  • standard built-in object
  • BFS
  • 정렬
  • python
  • javascript
  • 위상정렬

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
Melon Man
[JavaScript] Symbol, BigInt
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.