728x90
반응형
1. var
var name = 'bathingape'
console.log(name) // bathingape
var name = 'javascript'
console.log(name) // javascript
재선언이 가능하다.
2. let
let name = 'bathingape'
console.log(name) // bathingape
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
재선언 시 오류 발생
let name = 'bathingape'
console.log(name) // bathingape
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'react'
console.log(name) //react
재할당(수정)은 가능하다
3. const
const name = 'bathingape'
console.log(name) // bathingape
const name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'react'
console.log(name)
//Uncaught TypeError: Assignment to constant variable.
재할당 , 재선언 모두 불가능하다.
4. 정리
그렇다면, 어떤 변수 선언 방식을 써야할까?
변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정해 let 을 사용하는 것이 좋다.
그리고 객체를 재할당하는 경우는 생각보다 흔하지 않다. const 를 사용하면 의도치 않은 재할당을 방지해 주기 때문에 보다 안전하다.
- 재할당이 필요한 경우에 한정해 let 을 사용한다. 이때, 변수의 스코프는 최대한 좁게 만든다.
- 재할당이 필요 없는 상수와 객체에는 const 를 사용한다.
참조 : https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90
728x90
반응형
'기타' 카테고리의 다른 글
VSCode go live ip설정 (0) | 2023.07.10 |
---|---|
Parameter / Argument 차이점 (0) | 2023.07.06 |
spring return "redirect:/주소"와 return "view이름" 차이 (0) | 2023.07.04 |
@RequestMapping 대신 @PostMapping @GetMapping 쓰는 이유 (0) | 2023.07.04 |
Spring Framework / Spring Boot 차이점? (0) | 2023.06.29 |