Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Super
- 자바의 특징
- 기본 생성자
- 유니코드
- 즉시 실행 함수
- router
- 디코딩
- 화살표 함수
- 클래스
- Override
- 객체지향 #객체지향 특징
- 익명함수
- 자바
- import
- 노드
- 문자집합
- Anonymous Functions
- 어노테이션
- package
- 메소드 재정의
- 라우터
- final
- 패키지
- final 메소드
- 생성자
- 인코딩
- final 클래스
- Arrow function
- node
- annotation
Archives
- Today
- Total
개인 공부 블로그
var, let, const 본문
var과 let, const의 가장 큰 차이는 스코프의 범위이다.
var - 함수 영역(레벨)의 스코프let, const - 블록 영역의 스코프
전역변수 선언
전역변수로 선언하고 싶다면 let을 쓰지 않고 변수명과 초깃값만 할당하면 된다.
function calculateSum(n){
sum = 0; // 전역 변수 선언
for(let i=0; i<n+1; i++){
sum += i;
}
}
calculateSum(10);
console.log(sum); // 전역 변수 사용
let은 재할당은 가능하지만 재선언은 할 수 없다.
function calculateSum(n){
let sum = 0;
for(let i=0; i<n+1; i++){
sum += i;
}
}
let sum;
console.log(sum);
위 코드를 실행하면 sum이 이미 선언되었다는 오류가 발생한다. var은 재선언이 가능했었음.
-> 같은 변수 이름을 사용할 위험이 사라졌다.
호이스팅이 없는 변수
var은 호이스팅 때문에 변수를 선언하기 전에 실행하더라도 undefined 값을 가지고 있었음. 하지만 let을 사용한 변수는 선언하기 전에 실행하면 오류가 발생한다.
function print(){
let x = 10;
console.log('x is ' + x);
console.log('y is ' + y); // Cannot access 'y' before initialization at print
let y = 20;
}
const
let과 마찬가지로 재선언이 불가, 상수이므로 재할당 불가함
변수 때문에 생기는 오류를 줄이기 위해 let, const를 사용하는게 좋다.
'Javascript' 카테고리의 다른 글
정규 표현식(regular expression) (0) | 2024.03.04 |
---|---|
템플릿 리터럴 (0) | 2024.02.29 |
HTML 문서의 기본 구조 (0) | 2023.09.18 |
정적 / 동적 타입 자료형 (0) | 2023.09.14 |
자바스크립트의 타입과 자료형 (0) | 2023.09.14 |