1. 변수 선언과 사용

변수라는 것은 하나의 어떤 값을 답는 대명사임.
변수를 선언하는 것은 대명사를 지정하는 것이고 사용한다는 것은 그 대명사를 적용한다는 것이라고 보면 됨.

2. 변수명 선언 규칙

camelCase vs. snake_case 를 사용하고 그 뜻을 유추할 수 있도록 쓰는것.
항상 이러한 이유는 개발이라는 것은 개발자 1명이 혼자 하고 끝나는 것이 아니기에.

3. 변수 선언, 수정

let name = "박종선"; //변수를 선언하는 것
let job = "frontend developer"; //변수를 선언하는 것

name = "개발자"; //변수안에 값을 수정. 이 경우 let name 안의 값이 "개발자"라는 것.
let name = "뭐할까" //이미 선언된 변수를 재 선언할 경우는? 오류가 난다. 이미 같은 대명사가 있으니.

4. 변수 선언시 붙는 var, let, const 그리고 Scope.

ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다.
그러나 ES6 이후 let, const가 추가되었다.

쉽게 말해 const는 다른 언어에서 말하는 상수(불변).
let은 값을 바꿀 수 있다.

var는 ES6이상을 지원한다면 되도록 안쓰는 것이 좋다.

scope의 개념은 변수가 전역변수와 지역변수로 나눌수 있고 지역변수는 그 블록안에서만, 전역변수는 어디서는 쓸수 있다는게 요점인데

*로직 구현에서 만약 어떤 함수안에서만 쓰이는것은 그 안에 작성해야 시스템성능향상에 도움이 된다. 코드 간략화와 같은 이치.



용어

scope : 변수가 선언되는 공간으로, 누가 어떤 변수를 사용할 수 있을지의 범위
block : if문, for문 등 {}중괄호로 감싸진 한 단위

global scope : scope의 가장 전체범위인 전역공간
global variable : 전역공간에 선언한 변수로, 모든 블록들이 이 변수를 사용 가능하다

block scope : 어떤 블록에서 그 안의 공간
local variable : 어떤 블록안에서 선언된 변수로, 이 블록안에서 선언된 변수는 그 안에서만 유효하다

global namespace : 전역 변수에서 그 변수의 name부분을 말하는 것

scope pollution : 만약 전역변수가 선언되고 그 뒤 어떤 블록에서 그 변수를 같은 name으로 하여 다시 선언한다면 그 변수의 값은 변할 것이다. 이를 scope의 오염이라 한다.

0개의 댓글