본문 바로가기
JavaScript

2. 변수, 상수

by 몽이코딩 2024. 4. 30.
반응형

변수

  • 변수란 값을 담는 그릇 입니다.
  • 변수에 담긴 값은 언제든 바뀔 수 있습니다.
  • 변수를 선언할 때는 let이라는 키워드와 식별자와 값으로 나뉩니다.
  • ES6 이전에는 변수를 선언할 때는 var 키워드를 사용했습니다.
  • 같은 영역안에 같은 식별자를 가진 변수는 추가 생성이 불가능합니다.
let name = "홍길동"; // name 라는 변수에 "홍길동" 값 할당
name = "김길동";     // 변수 값을 "김길동" 으로 변경 가능

 

 

상수

  • 상수도 변수와 마찬가지로 값을 담는 그릇입니다.
  • 변수와 차이점은 한 번 할당된 값을 바꿀 수 없습니다.
  • 상수를 선언할 때는 const라는 키워드와 식별자와 값으로 나뉩니다.
  • ES6 버전 이후에 생겼습니다.
const age = 35; // age 라는 상수에 35 값 할당
age = 45;       // 상수 값을 45 로 변경 불가

 

 

스코프 (Scope)

범위라는 뜻이며, 변수나 함수를 사용할 수 있는 영역을 말합니다.

전역 스코프블록 스코프로 나뉩니다.

 

 

전역 스코프

  • 지바스크립트 최상단에 선언한 변수나 함수의 영역입니다.
  • 전역 스코프에 선언된 변수를 전역 변수라고 합니다.

블록 스코프

  • 블록 {} 으로 묶인 영역이 블록 스코프입니다.
  • 블록안에 선언된 변수는 블록 안에서만 접근 가능합니다.
  • 블록이 달라지면 변수를 다시 선언 할 수 있습니다.
  • 부모 변수는 자식 영역에서 사용이 가능합니다.

 

 

식별자 네이밍 규칙

  • 카멜 케이스(Camel Case) - 중간 단어의 첫 글자 대문자가 낙타의 혹처럼 보인다고 해서 카멜 케이스라고 불립니다. 식별자로 제일 많이 쓰입니다. 예) camelCase
  • 스네이크 케이스(Snake Case) - 언더바가 들어 있는 표현 방식을 뱀처럼 생겼다고 하여 스네이크 케이스라고 불립니다. 카멜 케이스보다는 조금 덜 쓰입니다. 예) snake_case
  • 케밥 케이스(Kebab Case) - 케밥이 꼬챙이에 꽂힌 모습처럼 보인다고 해서 케밥 케이스라고 불립니다. 모든 단어가 소문자입니다. 식별자로는 쓰일 수 없습니다. 예) kebab-case
  • 파스칼 케이스(Pascal Case) - 카멜 케이스와 유사하지만 단어의 시작이 모두 대문자로 시작됩니다. 식별자로는 잘 안쓰이며 주로 클래스 이름을 지을때 사용합니다. 예) PascalCase

 

 

호이스팅 (hoisting)

  • 호이스팅은 코드를 실행할 때 변수나 함수가 선언 된 위치와 관계없이 자바스크립트 파일에서 최상단에 있는 것으로 간주하는 것을 말합니다.
  • var, function 으로 선언된 변수, 함수가 호이스팅을 발생합니다.
  • let, const, class 를 이용한 선언은 호이스팅이 발생하지 않습니다.
반응형

'JavaScript' 카테고리의 다른 글

6. 조건문  (0) 2024.05.10
5. 배열  (0) 2024.05.06
4. 연산자  (0) 2024.05.03
3. 자료형  (0) 2024.05.02
1. javascript 시작하기  (0) 2024.04.29