본문 바로가기
Programming

JavaScript 자료형, 연산자

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 8. 30.
반응형

📚 자바스크립트 자료형(Data Types)과 연산자(Operators)

자바스크립트를 제대로 이해하려면 기본 자료형연산자에 대한 개념이 필요합니다. 자바스크립트는 동적 타이핑 언어로, 변수에 다양한 자료형을 유연하게 담을 수 있습니다.

🔹 기본 자료형 (Primitive Types)

  • String : 문자열, 예) "hello", 'world'
  • Number : 숫자형, 예) 42, 3.14
  • Boolean : 참/거짓, 예) true, false
  • Undefined : 값이 지정되지 않음
  • Null : "아무것도 없음"을 명시
  • Symbol : 유일한 식별자 (ES6 추가)
  • BigInt : 아주 큰 정수 (ES2020 추가)

🔸 참조 자료형 (Reference Types)

  • Object : 키-값 쌍의 데이터 구조
  • Array : 순서가 있는 리스트
  • Function : 실행 가능한 코드 블록
// 자료형 예제
let str = "Hello";           // String
let num = 123;               // Number
let isTrue = true;           // Boolean
let x;                       // Undefined
let empty = null;            // Null
let person = { name: "Tom" }; // Object
let list = [1, 2, 3];        // Array

⚙️ 자바스크립트 연산자 종류

1. 산술 연산자 (Arithmetic Operators)

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기
  • % : 나머지
  • ** : 거듭제곱
let a = 10;
let b = 3;
console.log(a + b); // 13
console.log(a % b); // 1
console.log(a ** b); // 1000

2. 대입 연산자 (Assignment Operators)

  • = : 값 할당
  • +=, -=, *=, /= 등 복합 할당

3. 비교 연산자 (Comparison Operators)

  • == : 값만 비교 (타입 무시)
  • === : 값 + 타입 모두 비교 (엄격)
  • !=, !== : 같지 않음 비교
  • >, <, >=, <=
console.log(5 == "5");   // true
console.log(5 === "5");  // false

4. 논리 연산자 (Logical Operators)

  • && : AND (모두 참일 때 true)
  • || : OR (하나라도 참이면 true)
  • ! : NOT (부정)

5. typeof 연산자

typeof는 변수의 자료형을 문자열로 반환합니다.

console.log(typeof "hello"); // string
console.log(typeof 42);      // number
console.log(typeof true);    // boolean
console.log(typeof null);    // object (자바스크립트의 버그)
💡 참고: null의 typeof 결과가 "object"인 것은 자바스크립트의 오래된 버그입니다. 실무에서는 x === null로 확인하세요.

📌 마무리 요약

  • 자바스크립트는 다양한 자료형을 제공하며, 변수에 자유롭게 할당 가능
  • 연산자는 산술, 대입, 비교, 논리 등으로 구성되어 있음
  • ===을 사용하는 엄격 비교를 추천!

 

반응형

'Programming' 카테고리의 다른 글

JavaScript 반복문  (35) 2025.09.01
JavaScript 조건문  (37) 2025.08.31
JavaScript 변수 선언  (35) 2025.08.29
JavaScript 소개 및 역사  (48) 2025.08.28
C 자료구조와 알고리즘 구현  (51) 2025.08.27