https://www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3
드림코딩님 강의보면서 공부!!
이미 아는 내용들은 건너뛰고 모르는 내용만 정리
호이스팅
호이스팅이란 어디에 선언했냐에 상관없이 항상 제일 위로 선언을 끌어올려주는 것을 말한다.
infinity / -infiniti / NaN
const infinity = 1 / 0;
const negativeInfinity = -1 / 0;
const nAn = 'not a number' / 2;
console.log(infinity); // infinity
console.log(negativeInfinity); // -infinity
console.log(nAn) //NaN
1을 0으로 나누면 infinity값이 반환된다
-1을 0으로 나누면 -infiniti값이 반환된다
문자를 숫자값으로 나누면 NaN (Not a Number)값이 반환된다
bigInt
자바스크립트에서는 (-2**53) ~ 2*53 의 범위만 표현이 가능한데
최근에는 bigInt라는 타입이 추가되어서 숫자의 마지막에 n만 붙이면 bigInt로 간주되어진다(크롬과 파이어폭스에서만 지원)
const bigInt = 1234567890123456789012345678901234567890n;
console.log(typeof(bigInt))

콘솔에 타입이 bigInt라고 출력되는 것을 볼 수 있다.
symbol
const symbol1 = symbol('id');
const symbol2 = symbol('id');
console.log(symbol1 === symbol2); //false
symbol은 동일한 문자열(string)을 작성했어도 다른 symbol로 만들어지기 때문에 주어지는 string에 상관없이 고유한 식별자를 만들 때 사용된다.
만약 string이 똑같다면 동일한 symbol을 만들어주고 싶을 때는 symbol.for()을 사용한다
심볼은 바로 출력하면 에러가 나기 때문에, symbol1.description 의 형식으로, 뒤에 .description을 붙여줘야 한다.
| [자바스크립트/javascript] match() (0) | 2023.03.26 |
|---|---|
| svg path 길이 구하는 법 & 애니메이션(animation) (0) | 2023.03.02 |
| [자바스크립트/javascript] async 와 defer의 차이점과 'use strict' (0) | 2023.02.12 |
| [자바스크립트/javascript] 정규표현식 (0) | 2023.02.05 |
| [자바스크립트/javascript] slice() / splice() (0) | 2023.01.24 |