Modern Javascript
Modern Javascript
특징
- 가상 DOM 을 이용하는 라이브러리 혹은 프레임워크 사용
- npm, yarn 등의 패키지 관리자 사용
- 주로 ES6 이후 표기법 사용
- 모듈 핸들러 사용
- 트랜스파일러 사용
- SPA 로 작성
패키지 관리자
패키지 설치 시 패키지 관리, 설치, 업그레이드 등을 전담
- 의존 관계를 의식하지 않아도 자동으로 해결
- 팀 안에서 패키지를 공유하고 버전을 통일하기 쉬움
- 전 세계에 공개된 패키지를 하나의 명령어로 이용 가능
1
2
npm install [패키지명] // package-lock.json
yarn add [패키지명] // yarn.lock
package.json
이 변경되고 패키지 정보가 추가 됩니다.
1
2
npm install
yarn add
package.json
, package-lock.json
을 참조해 버전이나 의존 관계가 해결된 상태로 node_modules
라는 폴더를 만들고 그 안에 실제 패키지를 전개합니다.
모듈 핸들러
개발 시 파일을 나누고 프로덕션 용으로 빌드할 때 파일 하나에 모으기 위해 js 파일, css 파일 등을 한 곳에 합친 것
트랜스파일러
자바스크립트 표기법을 브라우저에서 실행할 수 있는 형태로 변환
SPA
HTML 파일은 하나만 사용하고 자바스크립트를 이용해 DOM 을 바꿔 써서 화면 이동을 구현하는 것
- 사용자 경험 향상
- 서버 측에 요청을 보내지 않고 페이지 이동 가능 -> 화면 표시 속도 향상
- 컴포넌트 분리가 쉬워짐에 따른 개발 효율 향상
- 화면의 각 요소를 컴포넌트로 정의해서 재사용
기초 문법
const & let
var 를 이요한 변수 선언의 문제
- 덮어쓰기
- 재선언 가능
- 프로그램 실행 순서에 따라 어느 변수가 사용되는지 해석하기 어렵기 때문에 지양
let
1
2
3
4
5
6
7
8
let strLet = "let";
console.log(strLet); // 출력 : let
strLet = "newLet"; // 재할당
console.log(strLet); // 출력 : newLet
let strLet = "reLet"; // 중복 선언 -> 오류 발생
console.log(strLet); // Uncaught SyntaxError
const
1
2
3
4
5
6
const strConst = "const";
console.log(strConst); // 출력 : const
strConst = "newConst"; // 재할당 불가 -> 오류 발생
const strConst = "reConst"; // 동일한 이름으로 재선언 불가 -> 오류 발생
*** const 로 정의한 변수를 변경할 수 있는 경우
- Primitive Type 의 데이터는 const 를 이용해 덮어쓸 수 없습니다.
- 객체나 배열 등 Object Type 의 데이터들은 const 로 정의해도 도중에 값 변경이 가능합니다.
이 글은 저작권자의 CC BY 4.0 라이센스를 따릅니다.