레슨 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은 원시 타입입니다.