
JavaScript는 다양한 데이터 타입을 제공하며, 동적 타이핑(dynamic typing) 언어로, 변수에 저장되는 값의 타입이 실행 중(runtime)에 자동으로 결정된다.
| 타입명 | 설명 | 예시 |
|---|---|---|
Number | 정수와 실수를 포함한 숫자형 | 1, 3.14, -10 |
String | 문자열 | "Hello", '123' |
Boolean | 참 또는 거짓 | true, false |
Array | 순서가 있는 값들의 리스트 | [1, 2, 3] |
Object | 키-값 쌍으로 구성된 구조체 | { name: "Emma" } |
Null | 의도적으로 비워진 값 | null |
Undefined | 값이 할당되지 않은 상태 | undefined |
✅ JavaScript에서는 정수와 실수를 모두
Number타입으로 처리한다.
JavaScript는 연산자에 따라 값의 타입을 자동으로 변환하기도 한다.
| 연산자 | 동작 방식 | 예시 |
|---|---|---|
+ | 문자열이 포함되면 문자열로 변환 | "3" + 2 → "32" |
-, *, /, <, > | 숫자형으로 변환하여 계산 | "5" - 1 → 4 |
+는 문자열 우선, 나머지 연산자는 숫자 우선!

⚠️
==과!=은 형변환이 일어나므로 예상치 못한 결과가 나올 수 있다.
→ 항상===,!==를 사용하는 것이 안전한 Best Practice이다.
Number("123"); // 123
parseInt("3.14"); // 3
parseFloat("3.14");// 3.14
String(123); // "123"
(123).toString(); // "123"
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
+ | 더하기 | 5 + 2 | 7 |
- | 빼기 | 5 - 2 | 3 |
* | 곱하기 | 5 * 2 | 10 |
/ | 나누기 | 10 / 2 | 5 |
% | 나머지 | 10 % 3 | 1 |
** | 거듭제곱 | 2 ** 3 | 8 |
console.log(5 + 2); // 7
console.log(10 % 3); // 1
console.log(2 ** 4); // 16
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
= | 값 할당 | a = 10 | 10 |
+= | 더한 후 할당 | a += 5 | a = a + 5 |
-= | 뺀 후 할당 | a -= 3 | a = a - 3 |
*= | 곱한 후 할당 | a *= 2 | a = a * 2 |
/= | 나눈 후 할당 | a /= 2 | a = a / 2 |
%= | 나머지 후 할당 | a %= 3 | a = a % 3 |
let a = 10;
a += 5; // 15
a *= 2; // 30
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
== | 값이 같음 (느슨한 비교) | 5 == "5" | true |
=== | 값과 타입 모두 같음 | 5 === "5" | false |
!= | 값이 다름 (느슨한 비교) | 5 != "5" | false |
!== | 값 또는 타입이 다름 | 5 !== "5" | true |
> | 크다 | 7 > 5 | true |
< | 작다 | 3 < 5 | true |
>= | 크거나 같다 | 5 >= 5 | true |
<= | 작거나 같다 | 4 <= 2 | false |
console.log(5 == "5"); // true
console.log(5 === "5"); // false
| 연산자 | 설명 | 예시 | 결과 |
|---|---|---|---|
| AND | 양쪽 모두 true면 true | true && false | false |
| OR | 하나라도 true면 true | false or true | true |
| NOT | 논리값 반전 | !true | false |
AND ==
&&
OR ==||
NOR ==!
사실 이 내용을 표 안에 넣고 싶었는데, 표 마크다운 할 때|이 기호가 자꾸 표로 인식돼서 넣기 실패했다 ㅠ.. 이스케이프 코드도 안먹는데 방법 아시는 분?
let a = true;
let b = false;
console.log(a && b); // false
console.log(a || b); // true
console.log(!a); // false
조건에 따라 값을 구분할 수 있는 간단한 연산자이다.
형식: 조건 ? 참일 때 값 : 거짓일 때 값
let score = 85;
let result = score >= 60 ? "합격" : "불합격";
console.log(result); // "합격"