프로덕트디자이너 Hailey 일기장📝
WIL (Week In Learning) 본문
Date: 2024-12-27
Topic: JavaScript 변수 선언 키워드(var, let)와 스코프 복습, 리액트 강의 수강
Today I Learned
- var와 let의 스코프 차이
- var: 함수 스코프를 가지며, 블록({ })을 벗어나도 접근이 가능합니다.
- 장점: 초기 JavaScript 환경에서 널리 사용되던 방식으로 호이스팅(hoisting)에 따라 코드 상단으로 끌어올려져 선언된 것처럼 동작.
- 단점: 블록 스코프를 무시하기 때문에 의도치 않은 참조나 값 변경을 초래할 가능성이 큼.
- let: 블록 스코프를 가지며, 선언된 블록 내에서만 유효합니다.
- 장점: 블록을 벗어나면 변수에 접근할 수 없어, 더 안전한 코딩이 가능합니다.
- 단점: 블록 외부 접근이 필요한 경우 적합하지 않을 수 있음.
- var: 함수 스코프를 가지며, 블록({ })을 벗어나도 접근이 가능합니다.
- 코드 분석과 결과
- var로 선언된 변수는 블록을 벗어나도 참조가 가능하므로, if 블록 밖에서도 출력되었습니다.
- 반면 let으로 선언된 변수는 블록 스코프를 가지므로, 선언된 블록 내에서만 유효했습니다.
- Best Practice
- var 대신 let 또는 const를 사용하는 것이 더 안전한 코딩 스타일입니다.
- 예외적으로, var를 사용해야 할 경우 함수 스코프를 의도적으로 활용하는 경우에만 선택합니다.
Code Example
if (true) {
var varVariable = "I am accessible outside the block";
let letVariable = "I am limited to this block";
console.log(varVariable); // 출력됨
console.log(letVariable); // 출력됨
}
console.log(varVariable); // 출력됨
console.log(letVariable); // ReferenceError: letVariable is not defined
Reflection
오늘 JavaScript의 변수 선언 방식에 대한 차이를 정확히 이해할 수 있었습니다. 특히 var의 함수 스코프 특성이 어떻게 의도치 않은 문제를 초래할 수 있는지 알게 되었습니다. 앞으로는 let과 const를 적극적으로 활용해 가독성과 안정성을 높인 코드를 작성하겠습니다.
Key Takeaway: "스코프를 명확히 이해하고, 목적에 맞는 변수 선언 키워드를 사용하자."
리액트 처음 배우는거라 학습하는게 쉽진 않지만 끝까지 열심히 수강 완료할 예정입니다~!!! 화이팅..🥹
'WIL' 카테고리의 다른 글
UX개선 프로젝트_KPT 회고(개인) (2) | 2024.12.06 |
---|---|
팀 KPT회고_(팀장제출) (1) | 2024.12.06 |
WIL (0) | 2024.11.29 |
WIL(Weekly I Learned)😊 (2) | 2024.11.22 |
KPT회고 :) (0) | 2024.11.15 |