여름의 서재

[JavaScript] 변수 & 식별자 & 데이터타입 본문

Skill/JavaScript

[JavaScript] 변수 & 식별자 & 데이터타입

엉아_ 2021. 11. 7. 18:27
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