Learning
레슨 1 / 9·15분

변수와 데이터 타입

변수 선언: const, let, var

JavaScript에서 변수를 선언하는 키워드는 세 가지입니다. const는 재할당이 불가능한 상수, let은 재할당이 가능한 변수, var는 함수 스코프를 가지는 레거시 키워드입니다. 최신 코드에서는 const를 기본으로 사용하고, 재할당이 필요할 때만 let을 사용합니다.

javascript
const name = "Alice";   // 재할당 불가
let age = 25;            // 재할당 가능
var legacy = "old";      // 함수 스코프 (사용 지양)

// const는 재할당 시 에러 발생
// name = "Bob";  // TypeError: Assignment to constant variable

age = 26;  // OK – let은 재할당 가능

7가지 데이터 타입

  • string — 문자열: "hello", 'world', template
  • number — 숫자: 42, 3.14, NaN, Infinity
  • boolean — 논리값: true, false
  • null — 의도적으로 비어 있음을 나타내는 값
  • undefined — 값이 할당되지 않은 상태
  • array — 순서가 있는 목록: [1, 2, 3]
  • object — 키-값 쌍의 집합: { key: "value" }
javascript
const str = "Hello";          // string
const num = 42;               // number
const bool = true;            // boolean
const empty = null;           // null
let notAssigned;              // undefined
const arr = [1, 2, 3];       // array (object의 일종)
const obj = { x: 10, y: 20 };// object

console.log(typeof str);     // "string"
console.log(typeof num);     // "number"
console.log(typeof arr);     // "object"

템플릿 리터럴

백틱(` `)으로 감싸면 ${expression}` 구문을 이용해 문자열 안에 변수나 표현식을 삽입할 수 있습니다. 줄바꿈도 그대로 유지됩니다.

javascript
const user = "김철수";
const score = 95;

// 기존 문자열 결합
console.log(user + "님의 점수: " + score + "점");

// 템플릿 리터럴
console.log(user + "님의 점수: " + score + "점");

// 여러 줄 문자열 (백틱 사용)
const html = "<div>" +
  "<p>" + user + "</p>" +
  "</div>";
💡

typeof null은 "object"를 반환합니다. 이것은 JavaScript의 유명한 버그이며, 실제로 null은 원시 타입입니다.