[JavaScript] 01. 변수 선언과 데이터 타입
💙 변수 선언과 데이터 타입
① 변수 선언: var / let / const
② 데이터 타입: 문자열 / 숫자 / 불린 / 배열 / 객체 / 함수 / null / undefined
1️⃣ 변수의 선언
📌 기본은 const ! 재할당(값 변경) 시는 let !
1) var
- 같은 이름으로 여러 번 중복 선언할 수 있음
- 가장 마지막에 할당된 값이 변수에 저장
- 변수 파악 및 재할당 문제 발생
- 함수 레벨 스코프: 함수 내부에 선언된 변수만 참조 가능 (함수 외부는 참조X)
2) let
- 중복 선언이 불가능함
- 재할당할 수 있음 (선언·초기화 이후)
- 블록 레벨 스코프: 코드 블록 내부에 선언된 변수만 참조 가능 (코드 블록 외부는 참조X)
3) const
- 중복 선언이 불가능함
- 재할당이 불가능함
- 상수(constant): 한 번 선언하면 값을 변경할 수 없음
- 블록 레벨 스코프: 코드 블록 내부에 선언된 변수만 참조 가능 (코드 블록 외부는 참조X)
2️⃣ 데이터 타입
1) 문자열 (String)
- 유니코드 문자 (텍스트)
- 문자열 길이: 문자열변수명.length
- 문자열 안의 특정 인덱스 문자 접근: 문자열변수명.charAt(인덱스)
- 문자열 속 변수 사용: `${변수명/연산}`
2) 숫자 (Number)
- 정수, 부동 소수
- 숫자 → 문자열 변환: String(숫자)
- 문자열 → 숫자 변환: Number(숫자)
- NaN(Not-a-number): 숫자 연산이 불가능할 때 반환
- Infinity: 표현할 수 있는 수를 넘는 무한대를 나타내는 값 (+, -)
3) 불린 (Boolean)
- 참(true, 1)과 거짓(false, 0)
- false ▶ 0, 빈 문자열 "", null, undefined, NaN
- true ▶ 그 외 나머지 값
4) 객체 (Object)
- 키-값의 쌍 모음
- 객체의 값(프로퍼티)에는 문자열, 숫자, 불린, 함수, 배열, 다른 객체 등 어떤 타입도 사용 가능
- 생성: ① 객체 리터럴: var obj1 = {}; ② Object() 생성자 함수: var obj2 = new Object();
- for ... in: 객체의 프로퍼티가 존재하는지 확인
- method: 객체 프로퍼티로 할당된 함수
- this: 자기 자신의 객체
5) 배열 (Array)
- 순서가 있는 리스트
- 생성: ① 배열 리터럴: var arr1 = ['A', 123, false]; ② Array() 생성자 함수: var arr2 = new Array();
- 주요 메서드
① pop(): 마지막 원소를 제거하고 그 값을 반환
② push(): 배열의 맨 끝에 원소를 추가하고 배열의 길이를 반환
③ for문: 배열의 모든 원소를 순차적으로 접근
④ .length: 배열의 길이
⑤ delete: 배열에서 원소(값) 제거 → undefined
6) 널 (null)
- 값(객체)이 없음
- Number(null) = 0
7) 미정 (undefined)
- 변수를 선언했지만, 값이 할당되지 않은 변수 (미정)
- undefined == null (true) & undefined === null (false)
- Number(undefined) = NaN
읽어주셔서 감사합니다.
잘못된 내용에 대한 피드백은 언제나 환영입니다.