JAVASCRIPT · 심층 가이드
JavaScript 기초 문법 완전 정리
변수 선언과 조건 분기, 반복, 배열과 객체, 타입 변환까지 JavaScript 코드를 읽고 고칠 때 매일 쓰는 문법을 20개 예제로 확인합니다.
JavaScript 기초에서 발이 걸리는 곳은 문법 자체가 아니라 암묵적 변환입니다. 값을 비교하고 더하고 정렬하는 아주 평범한 연산에서, 엔진이 조용히 타입을 바꿔 놓고 결과만 돌려줍니다. '5' + 3은 문자열이 되고 '5' - 3은 숫자가 됩니다. 빈 배열도, 문자열 '0'도 조건문에서는 참입니다. 그래서 다른 언어를 먼저 배운 사람일수록 '되긴 되는데 왜 이 값이지'를 자주 겪습니다. 여기서 시간을 아끼는 방법은 규칙을 외우기보다 변환이 일어나지 않는 코드를 쓰는 것입니다.
숫자 변수 선언과 문자열 상수 선언에서 const를 기본으로 두고 재할당이 필요할 때만 let을 쓰는 습관을 잡습니다. if else 분기와 switch 또는 match 사용은 같은 판단을 다른 형태로 쓰는 짝이고, null 기본값 처리는 이 둘에 들어가기 전 값을 정돈하는 단계입니다. 뒤쪽의 타입 변환과 정렬 기초는 함께 보는 편이 좋습니다. 정렬에서 나오는 이상한 결과의 원인이 바로 앞 절에서 다룬 문자열 변환이기 때문입니다.
Array.prototype.sort는 비교 함수를 주지 않으면 원소를 문자열로 바꿔 사전순으로 정렬합니다. [10, 9, 1].sort()가 [1, 10, 9]가 되는 이유입니다. 숫자 배열은 반드시 sort((a, b) => a - b)처럼 비교 함수를 넘겨야 하고, sort는 원본 배열을 바꾼다는 점도 같이 기억해 두세요. 기본값 처리에서는 ||와 ??의 차이가 중요합니다. ||는 0이나 빈 문자열까지 기본값으로 덮어쓰므로, '값이 없을 때만'이라는 의도라면 ??를 써야 합니다.
01숫자 변수 선언
JavaScript에서 숫자 변수 선언 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 숫자 변수 선언
let count = 1;
const label = count > 5 ? "big" : "small";
console.log(label);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
02문자열 상수 선언
JavaScript에서 문자열 상수 선언 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 문자열 상수 선언
for (let i = 0; i < 3; i += 1) {
console.log(i + 2);
}기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
03불리언 플래그 만들기
JavaScript에서 불리언 플래그 만들기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 불리언 플래그 만들기
const values = [3, 1, 4, 3];
console.log([...values].sort((a, b) => a - b));기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
04문자열 길이 구하기
JavaScript에서 문자열 길이 구하기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 문자열 길이 구하기
const user = { name: "user4", level: 4 };
console.log(user.name, user.level);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
05문자열 정리하기
JavaScript에서 문자열 정리하기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 문자열 정리하기
let count = 5;
const label = count > 5 ? "big" : "small";
console.log(label);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
06숫자 합계 계산
JavaScript에서 숫자 합계 계산 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 숫자 합계 계산
for (let i = 0; i < 3; i += 1) {
console.log(i + 6);
}기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
07나머지 연산 확인
JavaScript에서 나머지 연산 확인 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 나머지 연산 확인
const values = [3, 1, 4, 7];
console.log([...values].sort((a, b) => a - b));기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
08if else 분기
JavaScript에서 if else 분기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// if else 분기
const user = { name: "user8", level: 8 };
console.log(user.name, user.level);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
09switch 또는 match 사용
JavaScript에서 switch 또는 match 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// switch 또는 match 사용
let count = 9;
const label = count > 5 ? "big" : "small";
console.log(label);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
10null 기본값 처리
JavaScript에서 null 기본값 처리 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// null 기본값 처리
for (let i = 0; i < 3; i += 1) {
console.log(i + 10);
}기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
11삼항 연산자 사용
JavaScript에서 삼항 연산자 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 삼항 연산자 사용
const values = [3, 1, 4, 11];
console.log([...values].sort((a, b) => a - b));기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
12for 반복문
JavaScript에서 for 반복문 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// for 반복문
const user = { name: "user12", level: 12 };
console.log(user.name, user.level);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
13while 누적 계산
JavaScript에서 while 누적 계산 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// while 누적 계산
let count = 13;
const label = count > 5 ? "big" : "small";
console.log(label);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
14break 와 continue
JavaScript에서 break 와 continue 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// break 와 continue
for (let i = 0; i < 3; i += 1) {
console.log(i + 14);
}기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
15배열 생성과 순회
JavaScript에서 배열 생성과 순회 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 배열 생성과 순회
const values = [3, 1, 4, 15];
console.log([...values].sort((a, b) => a - b));기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
16맵 또는 객체 생성
JavaScript에서 맵 또는 객체 생성 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 맵 또는 객체 생성
const user = { name: "user16", level: 16 };
console.log(user.name, user.level);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
17정렬 기초
JavaScript에서 정렬 기초 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 정렬 기초
let count = 17;
const label = count > 5 ? "big" : "small";
console.log(label);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
18튜플 또는 페어 사용
JavaScript에서 튜플 또는 페어 사용 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 튜플 또는 페어 사용
for (let i = 0; i < 3; i += 1) {
console.log(i + 18);
}기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
19타입 변환
JavaScript에서 타입 변환 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 타입 변환
const values = [3, 1, 4, 19];
console.log([...values].sort((a, b) => a - b));기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
20날짜 문자열 만들기
JavaScript에서 날짜 문자열 만들기 개념을 코드로 빠르게 확인하는 기초 문법 예제입니다.
JavaScript code
// 날짜 문자열 만들기
const user = { name: "user20", level: 20 };
console.log(user.name, user.level);기초 문법은 값을 조금씩 바꿔 보면서 타입과 출력이 어떻게 달라지는지 확인하는 편이 좋습니다.
값과 타입이 언제 바뀌는지 놓치면 조건문과 반복문에서 예상과 다른 결과가 나오기 쉽습니다.
정리하며
- const를 기본으로 선언하고 재할당이 실제로 필요한 변수에만 let을 씁니다
- 비교는 == 대신 ===로 해서 암묵적 타입 변환이 개입할 여지를 없앱니다
- 숫자 정렬에는 sort에 비교 함수를 반드시 넘기고 원본 변경 여부를 확인합니다
- 기본값은 0과 빈 문자열을 살려야 할 때 || 대신 ??로 처리합니다
더 깊이 들어가고 싶다면 JavaScript 학습 라이브러리에서 다른 주제 가이드를 이어서 보거나, 언어 비교에서 같은 개념이 다른 언어에서 어떻게 표현되는지 확인해 보세요.