728x90
반응형
SMALL
변수 (Variable)
: 데이터를 저장할 수 있는 메모리 공간을 의미한다.
변수라는 이름은는 '변할 수 있는 수' 라는 의미에서 온 것이다.
변수 선언과 초기화
let 키워드를 사용해서 변수를 선언한다.
선언 한 뒤 값을 대입해주는 것을 초기화 한다고 한다.
이미 선언한 변수명으로는 다시 선언이 불가능하게 된다.
<script>
'use strict';
let 변수명; // 변수 선언
변수명 = 값; // 변수 초기화
</script>
'use strict' 는 strict mode 를 사용한다는 의미이고, 코드를 엄격하게 사용하도록 하는 코드이다.
대부분 <script> 태그 안에 첫 줄에 입력하고 코드를 작성한다.
만약, 변수를 초기화 하지 않고 console.log( ) 함수로 변수를 출력한다면 어떻게 출력이 될까?
<script>
'use strict';
let name; // 변수 선언
// 초기화하지 않고 출력
console.log(name);
</script>
undefined 라고 출력된다.
이는 값이 없어서 정의되지 않았다고 하는 것이다.
var 키워드
예전에는 var 키워드를 사용해서 변수를 주로 선언했다.
현재는 var 키워드의 모호함으로 인해서 잘 사용하지 않는다.
사용하지 않는 이유 1. 같은 이름의 변수를 선언할 수 있다.
<script>
'use strict';
var num = 10;
var num = 20; // 가능
</script>
let 키워드 같은 경우에는 이미 선언한 변수명으로는 재선언을 할 수 없다.
하지만, var 키워드로 선언한 변수에서는 오류가 발생하지 않는다.
사용하지 않는 이유 2. 지역변수와 전역변수의 구별이 없다.
<script>
'use strict';
var num = 10;
if(...){
var num;
}
</script>
let 키워드의 경우에는 전역에 선언한 변수 num 과 if문 안에서 선언한 지역변수 num은 서로 완전 다른 변수로 인식된다.
하지만, var 키워드는 전역변수 num과 지역변수 num은 같은 변수로 인식된다.
728x90
반응형
LIST
'Front-End > JavaScript' 카테고리의 다른 글
[프론트엔드][JavaScript] 6. 데이터 타입 (0) | 2021.09.01 |
---|---|
[프론트엔드][JavaScript] 5. Stack / Heap 메모리의 이해 (0) | 2021.08.23 |
[프론트엔드][JavaScript] 3. 출력함수 (0) | 2021.08.22 |
[프론트엔드][JavaScript] 2. <script> 작성 방법 (0) | 2021.08.22 |
[프론트엔드][JavaScript] 1. JavaScript 에 대하여 (0) | 2021.08.17 |