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
- final 클래스
- 즉시 실행 함수
- 유니코드
- 화살표 함수
- final
- 노드
- package
- 패키지
- final 메소드
- 클래스
- 메소드 재정의
- router
- 디코딩
- 문자집합
- 자바의 특징
- Override
- 생성자
- Anonymous Functions
- 어노테이션
- node
- import
- 인코딩
- 자바
- annotation
- 객체지향 #객체지향 특징
- Arrow function
- 익명함수
- 라우터
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 |