문법 · JS · beginner

값·변수·타입: let, const, Number, String

원시 타입과 변수 선언, 암묵적 변환이 문제를 망치는 지점.

배우기 · JavaScript 문법 · 16분 · 1/10 · javascript · 타입

이 트랙 목차 (10)
  1. 1. 값·변수·타입: let, const, Number, String
  2. 2. 조건과 논리: if, else, &&, ||, 삼항
  3. 3. 반복: for, while, for...of, 배열 메서드
  4. 4. 함수: 선언, 화살표, 스코프, 순수 함수
  5. 5. 배열과 문자열 다루기
  6. 6. 객체·Map·Set
  7. 7. 비동기 맛보기 (문제 범위 밖이지만)
  8. 8. 오류 읽기: TypeError · undefined · 스택
  9. 9. 정규식 맛보기: test · match · replace
  10. 10. JSON 파싱 맛보기

변수 선언

const name = 'Praxis';
let sum = 0;
sum += 3;

자주 만나는 타입

타입비고
number3, 3.14, NaN정수/실수 구분 없음
string'hi', "hi", ` hi `불변
booleantrue / false
undefined값이 아직 없음
null의도적 빈 값
object / array{} / []참조 타입

문자열 ↔ 숫자

Number('42');      // 42
parseInt('42px', 10); // 42
+'42';             // 42
String(42);        // '42'
(42).toString();   // '42'

Number('')0, Number(' ')0에 가깝게 동작하니 빈 입력은 먼저 trim하세요.
Number('abc')NaN입니다. Number.isNaN(x)로 검사합니다.

== 와 ===

==는 타입을 바꿔 가며 비교합니다. "5" == 5 → true.
문제 풀이에서는 === / !== 쓰는 습관을 들이세요.

템플릿 리터럴

const a = 3, b = 5;
return `${a}+${b}=${a + b}`;

여러 줄 출력도 백틱으로 자연스럽게 만들 수 있습니다.

함정: 부동소수

0.1 + 0.2 === 0.3은 false입니다.
소수 비교가 필요하면 오차 허용 또는 정수(센트)로 바꿉니다. 코딩 테스트에서는 보통 정수·문자열 위주입니다.

연습

연습장에서:

  1. "12 34"를 숫자 두 개로 파싱해 합 반환
  2. 빈 문자열·공백만 있는 입력도 trim 후 처리

연습 과제 (연습장)

  1. 입력 "7 8""15"
  2. 입력 " 7\t8\n" 도 같은 결과 (trim)
  3. "x 1"처럼 숫자가 아니면 "NaN" 또는 "err" 정책을 스스로 정하고 구현

암묵적 변환 표

결과 감각
1 + "2""12"
1 - "2"-1
true + 12
null + 11
undefined + 1NaN

알고리즘에서는 변환에 기대지 말고 명시적으로 Number / String을 쓰세요.

관련 짧은 원리

관련 문제