심볼(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 |