여름의 서재
[JavaScript] 변수 & 식별자 & 데이터타입 본문
728x90
💡 식별자
: 변수를 구분할 수 있는 변수명, 반드시 문자, 달러 또는 밑줄(_)로 시작
📌 식별자 작성 스타일
- 카멜 케이스(camelCase) : 두번째 단어의 첫글자부터 대문자. 변수, 객체, 함수에 사용
ex) formList, userInfo - 파스칼 케이스(PascalCase) : 모든 단어의 첫 번째 글자를 대문자로 작성. 클래스, 생성자에 사용
ex) User - 대문자 스네이크 케이스(SNAKE_CASE) : 모든 단어 재문자 작성, 단더 사이에 언더스코어 삽입. 상수에 사용
ex) API_KEY
💡 변수 선언 키워드
📌 let
- 재할당할수 있는 변수 선언 시 사용
- 변수 재선언 불가능
- 블록 스코프
📌 const
- 재할당할 수 없는 변수 선언 시 사용
- 변수 재선언 불가능
- 블록 스코프
📌 var
- var로 선언한 변수는 재선언 및 재할당 모두 가능
- 호이스팅되는 특성으로 인해 예기치 못한 문제 발생가능 (const와 let을 사용하는 것을 권장)
- 함수 스코프
- 블록 스코프
: if, for, 함수 등의 중괄호 내부를 가리킴. 블록 스코프를 가지는 변수는 블록 바깥에서는 접근 불가능
- 함수 스코프
: 함수의 중괄호 내부를 가리킴. 함수 스코프를 가지는 변수는 함수 바깥에서 접근 불가능
- 호이스팅
: 변수를 선언 이전에 참조할 수 있는 현상. 변수 선언 이전의 위치에서 접근시 undefined를 반환
💡 데이터 타입
: 자바스크립트의 모든 값은 특정한 데이터 타입을 가짐
📌 원시타입
- 객체가 아닌 기본 타입
- 변수에 해당 타입의 값이 담김
- 다른 변수에 복사할 때 실제 값이 복사됨.
- ex) 숫자, 문자열, undefined(선언 이후 직접 값을 할당하지 않으면 자동으로 할당됨), null(개발자가 필요한 경우 의도적으로 할당), boolean
- undefined vs null
: undefined의 typeof 연산자 결과는 undefined, null은 object이다.
let message = '안녕하세요!'
let greeting = message
console.log(greeting)
// 안녕하세요!
message = 'Hello!'
console.log(greeting)
// 안녕하세요!
📌 참조 타입
- 객체 타입의 자료형
- 변수에 해당 객체의 참조 값이 담김
- 다른 변수에 복사할 때 참조 값이 복사됨
- ex) 함수, 배열, 객체
let message = ['안녕하세요!']
let greeting = message
console.log(greeting)
// ['안녕하세요!']
message[0] = 'Hello!'
console.log(greeting)
// ['Hello!']
'Skill > JavaScript' 카테고리의 다른 글
[JavaScript] AJAX & Promise & Axios (0) | 2021.11.08 |
---|---|
[JavaScript] 배열 & 객체 (0) | 2021.11.07 |
[JavaScript] 함수 (0) | 2021.11.07 |
[JavaScript] 조건문 & 반복문 (0) | 2021.11.07 |
[JavaScript] DOM & Event (0) | 2021.11.07 |
Comments