EverGiver
변수 본문
728x90
변수란
- 변수 (variable)
- 프로그램을 실행하는 동안 값이 여러 번 달라질 수 있는 데이터 - 상수 (constant)
- 값을 한번 지정하면 바뀌지 않는 데이터
변수 선언의 규칙
- 변수 선언
- 변수를 사용하기 위해 변수를 구별할 수 있도록 이름을 붙이는 과정 - 지켜야 할 규칙
1. 변수 이름은 영어 문자와 언더스코어(_), 숫자를 사용한다.
- 변수 이름의 첫 글자는 영어 대소 문자나 언더스코어(_)만 쓸 수 있으며, 숫자나 기호, 띄어쓰기는 허용하지 않는다.
2. 영어 대소 문자를 구별하며 예약어는 변수 이름으로 쓸 수 없다.
3. 여러 단어를 연결할 변수 이름은 중간에 대문자를 섞어 쓴다.
- 낙타 표기법(camel case)라고 한다.
4. 변수 이름은 의미 있게 작성해야 한다.
변수 선언하기
- 변수 선언은 var이라는 예약어 뒤에 변수 이름을 적으면 된다.
var 변수명
- 변수를 선언했으면 '=' 기호를 사용해서 변수에 값을 저장할 수 있다. 이것을 값 할당이라고 한다.
(값 할당은 변수를 선언한 후에 따로 할 수도 있고, 변수를 선언하면서 동시에 할 수도 있다.)
변수의 적용 범위 스코프 알아보기
- 스코프 (scope)
- 자바스크립트에서 변수를 선언하고 사용할 때 변수가 적용되는 범위 - 지역 변수 / 로컬 변수(local variable)
- 한 함수 안에서만 사용할 수 있는 변수
- 지역 변수를 선언하려면 예약어 var와 함께 변수 이름을 지정해야 한다. - 전역 변수 / 글로벌 변수 (global variable)
- 스크립트 소스 전체에서 사용할 수 있는 변수
- 적용 범위를 제한하지 않고 쓸 수 있다.
(지역 변수와 달리 스크립트 소스 코드 전체에서 사용할 수 있다.)
- 함수 밖에서 선언하거나 함수 안에서는 var 예약어를 빼고 선언해야 한다.
- 함수 안에서 선언한 변수라 하더라도 var 예약어를 사용하지 않으면 전역 변수가 된다.
var을 사용한 변수의 특징
- 자바스크립트에서 변수를 사용할 때 조심해야 할 개념이 있다. 바로 호이스팅(hoisting)이다.
- 호이스팅이란 '끌어올린다'를 뜻하며, 상황에 따라 변수의 선언과 할당을 분리해서 선언 부분을 스코프의 가장 위쪽으로 끌어올리는 것이다.
(끌어올린다고 해서 실제로 소스 코드를 끌어올리는 것이 아니라 소스를 그런 식으로 해석하다는 의미이다.) - 변수의 재선언과 재할당
- var를 사용한 변수는 재선언과 재할당을 할 수 있다.
<script> function addNumber(num1, num2) { return num1 + num2; // 2개의 수 더하기 } var sum = addNumber(10, 20); // sum 변수 선언, 함수 호출 console.log(sum); sum = 50; // sum 변수 재할당 console.log(sum); var sum = 100; // sum 변수 재선언 console.log(sum); </script>
let을 사용한 변수의 특징
- ES6에서는 변수를 선언하기 위한 예약어로 let과 const가 추가되었고, 되도록이면 var 예약어는 사용하지 않을 것을 권장한다.
- 예약어 var와 let, const의 가장 큰 차이는 스코프의 범위이다.
- var는 함수 영역(레벨)의 스코프
- let와 const는 블록 영역의 스코프 - 블록 안에서만 쓸 수 있는 변수
- let 예약어로 선언한 변수는 변수를 선언한 블록({ }로 묶은 부분)에서만 유효하고 블록을 벗어나면 사용할 수 없다.
- 만약 전역 변수를 선언하고 싶다면 let 예약어를 쓰지 않고 변수 이름과 초깃값만 할당하면 된다. - 재할당은 가능하지만 재선언은 할 수 없는 변수
- let 예약어를 사용하여 선언한 변수는 값을 재할당할 수는 있지만 변수를 재선언할 수는 없다. - 호이스팅이 없는 변수
- let 예약어를 사용한 변수는 선언하기 전에 사용할 경우 오류 메시지를 나타낸다.
const를 사용한 변수의 특징
- const로 선언한 변수는 상수 변수 (constant variable)이다.
- 상수는 변하지 않는 값을 의미 - const로 할당한 변수는 재선언하거나 재할당할 수 없으며, let 예약어를 사용한 변수처럼 블록 레벨의 스코프를 가진다.
자바스크립트 변수 사용
- 전역 변수는 최소한으로 사용한다.
- var 변수는 함수의 시작 부분에서 선언한다.
- for 문에서 카운터 변수를 사용할 때는 var 예약어를 사용하지 않는다.
- ES6를 사용한다면 예약어 var보다 let를 사용하는 것이 좋다.
728x90
'Front-End (웹) > 자바스크립트' 카테고리의 다른 글
조건문 (0) | 2022.01.20 |
---|---|
연산자 (0) | 2022.01.16 |
자료형 (0) | 2022.01.16 |
자바스크립트 용어와 기본 입출력 방법 (0) | 2022.01.13 |
웹 브라우저랑 자바스크립트 (0) | 2022.01.13 |
Comments