자료형
문자열
'Hello'
"안녕"
`줄바꿈
가능`
-typeof
값의 자료형을 반환한다.
typeof "문자열";
// < "string"
-back slash
역슬래시는 문자열에서 특수한 역할을 한다. 각각의 상황에 맞게 활용할 수 있어야 한다.
'hello\n world' // \n 줄바꿈
'hello\' world' // \' 문자열 내에 '를 쓰고 싶을 때
'hello\\ world' // \\ 문자열 내에 \를 쓰고 싶을 때
-연산
문자열과 문자열은 연산이 가능하다. +, -, *, /, % 연산이 모두 가능하다.
'딸기' + '바나나'
// < "딸기바나나"
'12' + '34'
// < "1234"
숫자
-NaN은 Not a Number라는 의미로, 숫자가 아니라는 의미로 쓰이는 숫자이다. NaN의 자료형은 숫자이다.
-연산
parseInt와 Number는 문자열을 숫자로 변환하여 사용하고 싶을 때 사용한다. 숫자와 문자열을 연산하게 되면 숫자가 문자열로 형 변환된다.
'12' + '34' // '1234'
parseInt('12') + 34 // 46
Number('12') + 34 // 46
1 + 3 // 덧셈
4 - 2 // 뺄셈
5 * 5 // 곱셈
10 / 3 // 나눗셈
6 * 2 // 나머지
3 ** 2 // 제곱
-연산자 우선순위
우선순위 | 연산자 |
---|---|
20 | ()(그룹화) |
19 | ., [], new, ()함수 호출 |
18 | new(인수 없이) |
17 | ++(후위), —(후위) |
16 | !, ~, +(단항), -(단항), ++(전위), —(전위), typeof, void, delete, await |
15 | ** |
14 | *, /, % |
13 | +(다항), -(다항) |
12 | <<. >>, >>> |
11 | <, <=, >, >=, in, instanceof |
10 | ==, !=, ===, !== |
9 | & |
8 | ^ |
7 | |
6 | && |
5 | |
4 | ? : |
3 | =, +=, -=, **=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |
2 | yield, yield* |
1 | , |
-부동소수점
컴퓨터는 큰 범위의 숫자까지 표현하기 위해 부동 소수점 방식으로 실수를 표현한다. 하지만 부동 소수점 방식을 사용할 경우 오차가 존재한다는 문제가 있다. 이것은 자바스크립트 뿐만 아니라 모든 프로그래밍 언어에서 나타나는 오류이다.
불 값
-참은 true, 거짓은 false를 나타내는 논리 값이다.
-연산
3 < 5 // true
6 == 8 // false
NaN == NaN // false
'1' == 1 // true (값만 비교 <- 형 변환)
'1' === 1 // flase (값과 자료형이 같은지 비교)
-논리 연산자
(10 > 5) && (6 < 8 ) // true (AND)
(10 > 5) || (6 > 8 ) // false (OR)
!true // flase (NOT)
-형 변환
!! 연산자를 사용하면 boolean으로 형 변환이 되는데, boolean으로 형 변환했을 때 false가 되는 값들이 있다.
!!false // false
!!'' // false
!!0 // false
!!NaN // false
!!undefined // false
!!null // false
빈 값
-undefined
반환할 결과 값이 없을 때 undefined가 반환된다.
-null
빈 값을 의미한다. undifined와 null은 둘 다 빈 값이지만 다른 자료형이다.