데이터 타입
기본형
- Number
- String
- Boolean
- Symbol → 유일한 값
- BigInt → 아주 큰 숫자를 다룰 때
- Null
- Undefined
참조형
- object
Symbol, BigInt
Symbol
유일한 값을 가진 변수 이름
const symbol = Symbol('aa')
다른 어떤 값과 비교해도 true가 될 수 없는 고유한 변수
똑같은 설명 붙이더라도 False
BigInt
기본적으로 JS는 253-1 ~ 253+1, 해당 범위보다 큰 정수 표현할 때 사용됨.
정수형 뒤에 알파벳 n 붙이거나 BigInt 함수 사용
90512512521512n BigInt(90512512521512)
소수 표현 사용 불가능 (1.5n같은 경우 사용 x)
소수 리턴되는 연산은 소숫점 아래 버림
10n / 6n // 1n
BigInt끼리만 연산 가능, 서로 다른 타입의 경우 명시적 타입 변환 해주어야 함.
5n * 6n 5n * 6 // 에러 5n * BigInt(6) Number(5n) * 6
typeof
- typeof(a), typeof a 두가지로 사용 가능
- typeof null → object
- typeof function → function
Boolean
- Falsy 값 : false, null, undefined, NaN, 0, '' ⇒ False 처리
- Truthy 값 : Falsy값이 아닌 나머지 값 ⇒ True 처리
AND/OR
- AND
- 왼쪽값이 True이면 오른쪽값 리턴
- 왼쪽값이 False이면 왼쪽값 리턴
- OR
- 왼쪽값이 True이면 왼쪽값 리턴
- 왼쪽값이 False면 오른쪽값 리턴
NULL 병합 연산자(??)
- const example = null ?? 'a';
- 왼쪽에 null이나 undefined → 오른쪽 값 리턴
- 왼쪽이 null이나 undefined가 아님 → 왼쪽 값 리턴
- FALSY값 확인하는게 아닌것에 유의 !!
변수와 스코프
- var : 비권장
- 변수를 만들기도 전에 사용 가능한 문제(hoisting)
- 중복 선언 가능한 문제
- 함수가 아닌 조건문, 반복문 내에서 선언한 변수도 사용가능한 문제
- let, const : 권장
- 변수 만들기 전에는 접근 불가능
- 중복 선언 불가능
- 코드 블록 범위
'Language > JavaScript' 카테고리의 다른 글
[ JavaScript] 배열, 모듈 (0) | 2021.07.29 |
---|---|
[ JavaScript ] 함수, 표기법, 예외 처리 (0) | 2021.07.29 |
[JavaScript] 몰랐던 문법 (0) | 2021.07.26 |
[JavaScript] 이벤트 처리 (0) | 2021.07.26 |
[JavaScript] 배열 (0) | 2021.07.25 |