패스트캠퍼스 환급챌린지 39일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기

2025. 8. 8. 23:44·패스트캠퍼스/김민태의 프론트엔드 아카데미: 제1강

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다

 

패스트캠퍼스 환급챌린지란?

 

(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스

초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!

fastcampus.co.kr

 

https://fastcampus.info/4n8ztzq

 

불금에도 항상 열심히 강의를 들을 수 있게 해주는 환급챌린지 최공!

 

39일차 공부 시작!

오늘 공부 시작 시간 (08.08 23:05)

오늘의 강의 주제는 '문법-변수(&상수)'이다.

 

학습 인증샷 - 1

 

(오늘도 마찬가지로 모자이크 처리..)

 

오늘의 학습 내용

* 변수와 상수의 선언


자바스크립트(JavaScript)와 타입스크립트(TypeScript) 모두에서 변수를 선언할 때는 `let`, 상수를 선언할 때는 `const`를 사용한다. 두 언어에서 동일하게 사용되므로 하나의 개념으로 이해해도 무방하다.

 

var x = 2;

let x = 10;
const y = 200;

const obj = {
height: 200,
width: 300
}

obj.height = 300;



위 코드는 변수와 상수를 어떻게 선언하는지를 보여준다. 먼저 과거 자바스크립트에서는 `var`라는 키워드를 통해 변수를 선언했는데, 이는 여러 가지 문제점을 갖고 있었다. 대표적인 예로, 변수의 스코프가 함수 단위로만 제한되었으며, 중복 선언이 허용되어 예기치 않은 동작을 유발할 수 있었다. 이러한 단점을 보완하기 위해 ES6 이후부터는 `let`과 `const` 키워드가 도입되었다.

`let`은 블록 스코프를 가지며, 변수의 중복 선언도 막아준다. 반면 `const`는 이름 그대로 '변하지 않는 상수'를 선언하기 위한 키워드다. 선언 이후 재할당이 불가능하다는 특징이 있지만, 완전히 불변이라는 뜻은 아니다.


* 객체와 불변성의 이해


const로 선언된 객체를 보면 다음과 같은 코드가 있다.

const obj = {
height: 200,
width: 300
}

obj.height = 300;



이것은 `const`로 선언된 객체의 속성을 바꾸는 예시다. 처음 객체를 `const`로 선언했기 때문에 `obj` 자체에 대한 참조값은 변경할 수 없지만, 객체 내부의 속성은 수정이 가능하다. 이처럼 자바스크립트에서 `const`는 '값을 바꿀 수 없다'라기보다는, 변수(이 경우는 참조)의 재할당이 불가능하다는 의미를 가진다. 다시 말해, 객체의 프로퍼티를 수정하는 것은 문제가 없고, 단지 `obj = { ... }`처럼 객체 자체를 다른 값으로 교체할 수 없다는 제약이 있는 것이다.


* 상수 사용이 권장되는 이유


실제 개발시에는 변수보다 상수를 더 많이 사용하는 것이 좋다. 그 이유는 간단하다. 일반적으로 프로그램 내에서는 고정된 값이 훨씬 많고, 변할 필요가 없는 값들을 변수로 선언했다가 의도치 않게 값이 바뀌는 경우가 자주 발생한다. 이런 불안정성을 줄이기 위해서는 초기화 후 값이 변하지 않도록 제어하는 것이 바람직하다.


그렇기 때문에 가능한 한 `const`를 기본적으로 사용하고, 실제로 값이 변해야 할 이유가 있는 경우에만 `let`을 사용하는 것이 좋은 프로그래밍 습관이다. 이렇게 하면 코드의 예측 가능성을 높이고 실수로 인한 버그를 줄일 수 있다.


* 정리


- `var`는 되도록 사용하지 않는다. 블록 스코프를 제대로 따르지 않고, 여러 문제의 원인이 되기 때문이다.  
- 새롭게 도입된 `let`과 `const`를 사용할 것을 권장한다.  
- `const`는 상수 선언에 사용되며 재할당이 불가능하다. 객체를 선언한 경우, 객체의 내부 속성은 변경 가능하다.
- 가능한 한 `const`를 기본으로 사용하고, 값이 반드시 변경되어야 할 때만 `let`을 사용한다. 이렇게 하면 코드 안정성과 유지보수성을 높일 수 있다.

 

 

41강 수강 완료
41강 강의 내용 정리 필기
오늘 공부 종료 시간 (08.08 23:35)

 

학습 인증샷 - 2

마치며

 

오늘도 환급 챌린지 41강 공부 완료!!

 

이번 강의에서는 변수에 대한 내용을 배웠다. 변수와 상수의 개념은 단순하지만 올바르게 사용하는 것이 중요하기 때문에 이번 챕터도 리마인드하는데 큰 도움이 되었다.

 

 

'패스트캠퍼스 > 김민태의 프론트엔드 아카데미: 제1강' 카테고리의 다른 글

패스트캠퍼스 환급챌린지 41일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기  (2) 2025.08.10
패스트캠퍼스 환급챌린지 40일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기  (3) 2025.08.09
패스트캠퍼스 환급챌린지 38일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기  (2) 2025.08.07
패스트캠퍼스 환급챌린지 37일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기  (3) 2025.08.06
패스트캠퍼스 환급챌린지 36일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기  (0) 2025.08.05
'패스트캠퍼스/김민태의 프론트엔드 아카데미: 제1강' 카테고리의 다른 글
  • 패스트캠퍼스 환급챌린지 41일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기
  • 패스트캠퍼스 환급챌린지 40일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기
  • 패스트캠퍼스 환급챌린지 38일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기
  • 패스트캠퍼스 환급챌린지 37일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기
hangyeoldora
hangyeoldora
hangyeoldora 님의 블로그 입니다.
  • hangyeoldora
    한결의 개발로그
    hangyeoldora
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • Azure (2)
      • NestJS (1)
      • Python (1)
        • 자연어 처리 (0)
        • 머신러닝 (0)
      • Java (1)
      • Javascript (1)
      • LLM (1)
        • 벡터 DB (1)
      • Electron (0)
      • Nsis (0)
      • 자격증 (0)
      • 패스트캠퍼스 (51)
        • 김민태의 프론트엔드 아카데미: 제1강 (51)
      • 혼공단 (7)
        • 혼자 공부하는 머신러닝 (7)
      • 목표 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    혼공머신
    혼공학습단
    혼공단
    직장인자기계발
    패스트캠퍼스
    습관형성
    오공완
    딥러닝
    패스트캠퍼스후기
    환급챌린지
  • hELLO· Designed By정상우.v4.10.3
hangyeoldora
패스트캠퍼스 환급챌린지 39일차: '김민태의 프론트엔드 아카데미 - 제 1강 JavaScript & TypeScript Essential' 강의 후기
상단으로

티스토리툴바