본문 바로가기

프로그래밍지식/javascript

(2)
var 대신에 let,const를 사용하는이유 var의 문제점 1. 블록레벨 스코프가 되지않는다. 2. 변수 호이스팅이 일어난다. 3. 변수를 중복 선언할 수 있다. ES6에서 생긴 let과 const let 일반적으로 변수에 값을 재할당할때 이용할 수 있다. 블록레벨스코프가 된다. 블랙레벨스코프란 함수내부뿐만아니라 일반문에서도 지역스코프가 발생하는것을 말한다. 변수 호이스팅이 일어나지 않는다. 정확히 말하면 호이스팅이 일어나지않는것처럼 보이게 한다. const 재할당이 필요없는 상수의 값을 초기화 할때 사용한다. 선언과 초기화는 동시에 진행해야한다. 당연히 한번변경된 값은 바꿀 수 없다.(재할당금지) 다만 예외가 있는데 객체같은 경우에는 값을 변경 할 수 가 있다. 1 2 3 4 5 const somethingObj = {name:'mark', a..
나를 위한 자바스크립트 개념 - Scope(스코프) 스코프란? 스코프란 말그대로 범위이다. 식별자 쉽게 말해 변수들을 검색하는 규칙이라고 이해하면 될것같다. 스코프를 통해서 변수들은 다른 코드나 함수들이 자신을 불러들일 수 있는 범위를 결정하게 된다. 1 2 3 4 5 6 7 8 9 const x = 'global X'; function foo() { const x = 'inner X'; console.log(x); } foo(); //inner X console.log(x); //global X cs 스코프의종류 전역스코프와 지역스코프가 있다. 전역스코프는 스코프전체에서 쓰이는 스코프이다. 위의 예제에서 global X가 들어있는 식별자 x는 전역스코프에 쓰여져있다. foo함수내에 선언된 x의 경우에는 지역스코프에 쓰여져있다. 전역스코프에 쓰여진것은 어..