일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Service
- Proxy Resource
- DynamoDB
- 자바스크립트
- AWS
- VPC
- 온프레미스
- null 병합 연산자
- Site-to-Site VPN
- Kubernetes
- Custom Resource
- elasticsearch
- docker swarm
- prometheus
- optional chaining
- transit gateway
- api gateway
- CloudFormation
- Await
- 단축 평가
- grafana
- docker
- cognito
- On-Premise
- 비구조화 할당
- Endpoints
- JavaScript
- 옵셔널 체이닝
- vgw
- 구조분해 할당
- Today
- Total
만자의 개발일지
[Javascript] 변수 선언 본문
자바스크립트
자바스크립트는 웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어입니다.쉽게말해서 html은 뼈대 css를 살(또는 옷)을 붙히는 거라면 자바스크립트는 뼈대가 움직일 수 있도록 도와주는
언어라고 생각하시면 됩니다.
이러한 자바스크립트는 컴파일 없이 문자 형태로 작성할 수 있을 뿐더러 실행도 가능합니다.또한 브라우저뿐만 아니라 서버에서도 실행할 수 있습니다.
그러면 이제 자바스크립트에서 어떻게 변수를 선언하는지 한 번 알아보도록 합시다.
자바스크립트에서의 변수 선언
자바스크립트의 변수 선언 방법은 다른 언어들과 똑같습니다.
자료형 변수명 = 참조할값;
자바스크립트와 다른 언어들과의 차이점이라하믄 자바스크립트는 C나 Java등과는 다르게 var,let,const라는 자료형을 씁니다.이 3개의 차이점을 한 번 알아봅시다.
var
형은 변수를 선언하고, 선택적으로 초기화 할 수 있습니다.또한 var 형은 호이스팅을 지원합니다.
* hoisting 이란
변수나 함수의 유혀봄위를 최상단으로 끌어올리는 것을 말한다.
정확히 말하면 실행 컨텍스트가 활성화 되었을때 해당 영영에서 변수의 이름을
메모리에 먼저 수집하는 현상으로 인해 발생하는 현상입니다.
*
console.log(a);// 초기화된 값이 적용되진 않지만 변수 a를 사용할 수 있음
var a = 10; //result undefined
var name = 'c';
console.log(name); // result:c
var name = 'java';
console.log(name); // result:java
var name = 'javascript';
console.log(name); // result:javascript
// var형은 변수명 중복 선언이 가능
let 형은 var 형과는 다르게 호이스팅을 지원하지도 않고 변수명 중복선언도 불가능합니다.
let 형은 변수에 재할당만 가능합니다.
let a = 10;
let a = 20;
console.log(a); // error
let a = 10;
console.log(a); // result:10
a = 20;
console.log(a); // result:20
마지막으로 const 형은 선언과 동시에 초기화 해줘야하며 번순 재선언, 변수 재할당 모두 불가능합니다.(상수)
const 형 역시 호이스팅과 변수명 중복선언이 불가능합니다.
const a = 10;
const a = 20;
console.log(a); // error
const a = 10;
console.log(a); // result: 10
변수 선언에는 기본적으로 const 형을 사용하고, 재할당이 필요한 경우에 한정해 let 형을 사용하는 것이 좋습니다.
const 형을 사용하면 의도치 않은 재할당을 방지해 주기 때문에 보다 안전합니다.
'JavaScript' 카테고리의 다른 글
[JavaScript] 콜백함수(Callback Function)란 (0) | 2022.03.17 |
---|---|
[JavaScript] Private Method 와 Field (0) | 2022.03.16 |
[JavaScript] 호이스팅이란 (0) | 2022.03.16 |
[JavaScript] for문 정리 (0) | 2022.03.16 |
[JavaScript] 생성자와 프로토타입 (0) | 2022.03.15 |