728x90
Var를 사용한 변수의 특징
스코프 : 변수가 사용되는 범위로, 스코프에 따라 지역변수와 전역변수로 나뉩니당..
지역변수
함수 안에서 선언하고 함수 안에서만 사용합니다.
var와 함께 변수이름을 지정합니다.
function addNumber(){
var sum = 10 + 20; // 지역변수로 동작..function 안에서 var로 선언되었기ㄸ문
}
addNumber();
console.log(sum); //상단의 sum은 지역변수이기 때문에 함수밖에서 찾을수없다...
//따라서 에러가 뜹니당..
전역변수
스크립트 소스 전체에서 사용합니다.
함수 밖에서 선언하거나 함수 안에서 var 없이 선언합니다.
function addNumber(){
var sum = 10 + 20; // 지역변수로 동작..function 안에서 var로 선언되었기ㄸ문
multi = 10 * 20; // var 없이 전역변수로 동작, function 밖에서도 기능을 합니다.
}
addNumber();
console.log(multi);
호이스팅
변수를 뒤에서 선언하지만, 마치 앞에서 미리 선언한것 처럼 인식합니다.
함수 실행문을 앞에두고 선언을 뒤에서 해도 앞으로 끌어올려 인식합니다.
var x = 10;
fuction displayNumber(){
console.log("x is " + x);
cossole.log("y is " + y);
var y = 20;
}
displayNumber();
이렇게도 사용이 가능합니다!
재선언과 재할당이 가능합니다.
- 재선언 : 이미 선언한 변수를 다시 선언할수 있습니다.
- 재할당 : 같은 변수에 다른 값을 할당 할 수 있습니다.
→ 재선언과 재할당이 가능해지면 실수로 변수를 잘못 조작할수가 있습니다.
let을 사용한 변수의 특징
- 블록 변수 - 블록({ }) 안에서만 사용가능.
function calcSum(n){
sum = 0;
for(let i = 1; i < n + 1; i++) {
sum += i;
}
}
calcSum(10);
console.log(sum);
sum = 0은 전역변수,
let i = 1은 블록변수
- 재할당은 가능하지만 재선언은 불가능.
- 호이스팅이 없습니다.
const를 사용한 변수의 특징
상수 - 변하지 않는 값을 선언할때 사용합니다.
재선언, 재할당이 불가능합니다.
const currentYear = 2022;
console.log(currentYear);
const currentYear; // 에러발생, 상수는 재선언이 불가능합니당..
재선언 불가!
const currentYear = 2022;
console.log(currentYear);
currentYear = 2044; //에러발생. const에 의해 상수가 된 값은 재할당 할수 없습니다.
console.log(currentYear);
재할당도 불가!
종합)
전역 변수는 최소한으로 사용해야합니다. <- 메모리를 적게 사용하자.
var 변수는 함수의 시작 부분에서 선언합니다. <- 변수가 먼저 선언이 되어야..
for 문에서 카운터 변수를 사용할 때는 var 예약어를 사용하지 않습니다.
ES6를 사용 한다면 예약어 var 보다 let을 사용하는 것이 좋습니다.
ES : ECMAScript의 약자, 6: 버전6
ES : 프로그래밍 언어가 아닌 스크립트 언어들에 대한 표준, 규격
728x90
'JAVA SCRIPT' 카테고리의 다른 글
| 자바스크립트 기본 문법!(이벤트와 이벤트 처리) - Java Script (0) | 2022.12.15 |
|---|---|
| 자바스크립트 기본 문법!(매개변수, 인수, return...등)-Java Script (0) | 2022.12.15 |
| 자바스크립트 기본 문법!(함수) - Java Script (0) | 2022.12.15 |
| 자바스크립트 기본 문법!(반복문)-Java Script (0) | 2022.12.15 |
| 자바스크립트 기본 문법!(조건문)-Java Script (0) | 2022.12.15 |