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 |
Tags
- 접근제어자
- 알고리즘
- object
- 무디스
- 인플레이션
- FCF
- XLF
- etf
- 그리디 알고리즘
- 금리인상
- 미국주식
- 제태크
- mco
- 객체지향
- javascript
- 금리인하
- 프로그래머스
- 자바
- 다형성
- 배당성장
- 잉여현금흐름
- Java
- S&P500
- 현금흐름표
- 오버라이딩
- 백준
- 기업분석
- 주식
- StringBuffer
- 주린이
Archives
- Today
- Total
오늘의하루
[javascript] let과 var의 차이 그리고 호이스팅이란? 본문
javascript에서 자주 사용하는 let과 var에 사용방법과 차이에 대해 알아보겠습니다.
변수 선언
javascript에서 변수를 선언하는 방법으로는 const, let, var 이렇게 세 가지 방법이 있습니다.
const
변하지 않고 항상 같은 값을 나타낼 때 사용한다.
const id = "오늘의하루";
const password = "12345";
//id와 password는 절대 변하지 않는 상수입니다.
password = "asdf";
//이렇게 변경하려고 하면 에러가 나옵니다.
위에서 선언한 id와 password는 절대 변하지 않는 상수입니다.
호이스팅
javascript를 실행하기 전 선언된 변수 및 함수를 모두 모아 유효 범위 최상단에 선언하게 되고 이를 실행하는 것을 말한다.
- var의 경우 선언과 초기화를 동시에 하기 때문에 문제가 발생한다.
console.log(a);
var a = 1;
console.log(a);
/*결과값
undefined
1
*/
- let의 경우 TDZ라는 것을 만들어서 변수가 나오기 전까지는 접근할 수 없게 만들었다.
console.log(a);
let a = 1;
console.log(a);
/*결과는 오류
ReferenceError : Cannot access 'a' before initialization.
*/
var
- 변수가 중복되어도 오류 없이 실행된다.
var a = 1;
console.log(a);
var a = 2;
console.log(a);
//여기서 오류가 나지 않는다...
- 지역변수와 전역 변수의 경계가 모호하다.
- function내에 있는 변수를 제외한 모든 변수를 전역 변수로 인지한다.
function test(){
var a = 1;
console.log(a);
}
test();
//결과값 : 1;
console.log(a);
//오류
for (var i = 1; i < 3; i++){
console.log(i);
}
console.log(i);
//결과값 : 1 2 3
let
- 변수가 중복되지 않게 변경되었습니다.
- 지역변수와 전역 변수의 경계가 확실해졌다.
for (var i = 1; i < 3; i++){
console.log(i);
}
console.log(i);
//결과값 : 1 2 까지만 나오고 에러 발생
'코딩공부' 카테고리의 다른 글
[Javascript] Array.reduce 문법 (0) | 2022.05.13 |
---|---|
Javascript arguments (0) | 2022.04.28 |
C언어 다이아몬드 키우기 게임 (1) | 2022.04.22 |
C언어 피라미드, 마름모 별찍기(for문 연습) (1) | 2022.04.21 |
C언어 고양이 뽑기 게임 만들기 (1) | 2022.04.20 |
Comments