📘 1.1.2 let
- 더 안전하고 똑똑한 변수 만들기
여러분이 지난 시간에 var
와 처음 만났을 때의 기억이 아직 남아 있으시죠? 그때 var
의 독특한 성질들을 경험하면서, 때로는 우리가 예상하지 못한 일들이 일어나는 것도 보셨어요.
오늘은 그런 var
의 아쉬운 점들을 따뜻하게 보완하고, 훨씬 더 안전한 코딩을 할 수 있게 도와주는 새로운 친구 let
을 만나볼 거예요. 마치 오래된 자전거에서 새로운 자전거로 바꾸는 것 같은 설렘이 있을 거예요.
🧠 새로운 단어들과 친해지기
let
을 마음으로 이해하는 데 도움이 되는 몇 가지 새로운 단어들을 부드럽게 풀어서 설명해드릴게요.
단어 | 마음으로 이해하기 |
---|---|
let | 2015년에 새로 태어난, 정해진 구역 안에서만 사용할 수 있는 안전한 변수를 만드는 방법이에요. |
블록 범위 (Block Scope) | 변수가 중괄호 { } 안에서만 살아 숨쉴 수 있는 특별한 규칙이에요. 마치 교실에서만 사용할 수 있는 물건 같아요. |
중복 선언 방지 (Redeclaration) | 이미 만든 변수와 같은 이름으로 다시 변수를 만들려고 하면 "잠깐요!"라고 말해주는 친절한 기능이에요. |
let
은 영어로 "허용하다"라는 뜻이에요. 이름처럼, 정해진 규칙 안에서는 자유롭게 값을 바꿀 수 있게 해주지만, var
보다 훨씬 더 체계적이고 안전한 울타리를 가지고 있어요.
✨ let
이 뭔지 알아보기
let
은 자바스크립트가 성장하면서 나타난 현대의 지혜로운 방법이에요. 개발자들이 var
를 사용하면서 "아, 이런 부분이 불편하네. 더 좋은 방법이 있을까?"라고 고민한 끝에 탄생한 소중한 결과물이죠.
var
와 가장 큰 차이점은 let
은 같은 이름으로 변수를 두 번 만드는 것을 허용하지 않아요. 마치 지혜로운 선생님이 "어? 그 이름은 이미 사용했잖아요. 다른 이름을 사용해주세요"라고 부드럽게 알려주는 것 같아요.
또한 let
으로 만든 변수는 정해진 구역(블록 범위)에서만 사용할 수 있어요. 마치 우리 교실에 있는 물건은 우리 교실에서만 쓸 수 있는 것처럼 자연스럽게요.
이런 특징들 덕분에 var
에 비해 코드가 어떻게 움직일지 훨씬 더 쉽게 예상할 수 있게 되었어요. 개발자는 변수가 어디서 어떻게 사용될지 더 명확하게 알 수 있고, 예상하지 못한 상황도 크게 줄일 수 있어요.
새로운 교실 시스템 이야기
let
을 더 깊이 이해해보기 위해 '새로운 교실 시스템' 이야기를 들려드릴게요.
새 학교에서는 각 교실, 체육관, 도서관 등 구역이 아주 명확하게 나뉘어져 있어요. 3학년 1반에서 받은 서랍은 3학년 1반에서만 사용할 수 있고, 4학년 교실에서는 그 서랍을 찾을 수 없는 자연스러운 규칙이 있어요.
그리고 만약 3학년 1반에 '민지의 책가방'이라는 이름의 서랍을 이미 신청했는데, 또 '민지의 책가방' 서랍을 신청하려고 하면 학교 관리 시스템이 "안내: 이미 '민지의 책가방' 서랍이 있어요. 다른 이름을 사용해주세요!"라고 친절하게 알려주어서 혼란을 막아줘요.
이처럼 let
은 변수가 있어야 할 곳을 명확히 하고, 같은 이름을 중복으로 사용하는 것을 예방해주어서 코드를 훨씬 더 깔끔하고 안전하게 만들어 줘요.
🎯 왜 let
을 사용할까요?
개발자들이 var
보다 let
을 더 좋아하는 이유가 뭘까요? 여러 소중한 이유들이 있어요.
첫 번째로 코드가 훨씬 더 안전해져요. var
의 고질적인 문제였던 "어? 내가 언제 이 변수를 또 만들었지?"라는 상황을 완전히 막아줘요. 마치 신중한 친구가 실수를 미리 막아주는 것 같아요.
두 번째로 변수를 관리하기가 훨씬 쉬워져요. 변수가 어느 구역에서 사용되는지가 명확하기 때문에, 코드를 읽을 때 "이 변수는 여기서만 사용되는구나"라고 자연스럽게 알 수 있어요.
세 번째로 실수를 미리 방지해줘요. 변수를 만들기 전에 사용하려고 하면 명확한 에러를 보여주어서, var
의 호이스팅으로 인해 생기던 혼란스러운 상황을 따뜻하게 막아줘요.
마지막으로 let
과 const
는 이제 자바스크립트의 현대적인 표준이 되어서, 더 좋은 코드 품질과 다른 개발자들과의 협업을 가능하게 해줘요.
⚙️ let
사용법 배우기
let
의 기본적인 사용법은 var
와 정말 비슷해요. 하지만 움직이는 방식에는 소중한 차이점들이 있어요.
let 변수이름 = 넣을것;
실제 예시:
let name = "지수";
let age = 12;
let isStudent = true;
var
와의 주요 차이점들:
가장 중요한 차이점은 중복으로 만들기 방지 부분이에요. let
은 같은 이름으로 다시 변수를 만들면 "이미 있어요!"라고 알려주며 에러를 내요.
또한 사용 범위 측면에서도 달라요. let
은 함수 전체가 아닌 중괄호 {}
구역만을 따라요.
호이스팅 부분에서도 차이가 있어요. let
도 자동으로 위로 올라가긴 하지만, 실제로 변수가 만들어진 곳에 도달하기 전까지는 "아직 사용할 수 없어요!"라고 에러를 내며 보호해줘요.
🧪 직접 해보면서 배우기
이제 실제 예시를 통해서 let
이 어떻게 살아 움직이는지 함께 지켜봐 볼게요.
🔹 첫 번째 예시: 변수 만들고 값 바꾸기
첫 번째로는 let
을 사용해서 변수를 만들고, 그 안에 우리가 소중히 여기는 정보를 넣은 다음, 나중에 다른 정보로 바꾸는 기본적인 과정을 알아볼게요.
// 'studentName' 이라는 변수를 let으로 만들고 이름을 저장해요.
var studentName = "수빈";
// 'classNumber' 라는 변수에 반 번호를 저장해요.
let classNumber = 3;
// 'isPresent' 라는 변수에 출석 여부를 참/거짓 값으로 저장해요.
let isPresent = true;
// console.log를 이용해서 각 변수에 저장된 값을 조용히 확인해요.
console.log(studentName); // "수빈"이 나타나요.
console.log(classNumber); // 3이 나타나요.
console.log(isPresent); // true가 나타나요.
// 변수에 저장된 값은 언제든지 바꿀 수 있어요. (값 바꾸기)
studentName = "민서";
console.log(studentName); // "민서"로 바뀐 값이 나타나요.
이 과정을 차근차근 들여다보면, 먼저 let
키워드로 여러 변수를 만들고 각각 다른 종류의 정보를 넣어요. 그다음 console.log
를 통해서 처음에 넣은 값들이 잘 자리 잡았는지 확인해봐요. 마지막으로 이미 만들어진 변수에 새로운 정보를 넣어서(값 바꾸기) 값이 바뀌는 것을 확인해요. 중요한 점은 let
이 값 바꾸기는 허용하지만, 같은 이름으로 새 변수를 또 만드는 것은 허용하지 않는다는 거예요.
🔹 두 번째 예시: let
의 중복 방지 기능 확인하기
let
이 어떻게 같은 이름 변수 만들기를 막아서 코드를 안전하게 지켜주는지 확인해 볼게요.
// 'score' 변수를 let으로 만들고 85를 넣어요.
let score = 85;
console.log(score); // 85가 나타나요.
// 만약 아래 주석을 지우고 실행하면 에러가 나요.
// let score = 90; // SyntaxError: 'score'라는 이름은 이미 사용 중이에요!
// 새로 만들기는 안 되지만, 값 바꾸기는 가능해요.
score = 90;
console.log(score); // 90이 나타나요.
이 예시를 통해서 let
의 안전장치를 확인할 수 있어요.
무료 JavaScript 학습 플랫폼에서 단계별 학습과 실시간 코드 실행을 통해
더욱 효과적이고 재미있게 학습하실 수 있습니다.
'1. 데이터 상자 만들기 (변수 선언) > 1.1 데이터 상자 (변수) 이야기' 카테고리의 다른 글
1.1.3 `const` - 절대 변하지 않는 특별한 금고 (0) | 2025.06.27 |
---|---|
1.1.1 `var` - 자바스크립트에서 처음 만난 정보 저장하기 (0) | 2025.06.27 |