Frontend/JavaScript
-
[JavaScript] Webpack, babel, Polyfill 이란?Frontend/JavaScript 2023. 8. 29. 20:02
Webpack, babel, Polyfill이란? Webpack, babel, Polyfill의 차이 Webpack이란? Webpack은 모듈을 번들시키는 역할을 한다. 번들러의 종류 1.Webpack 2.Broserify 3.Parcel이 중 Webpack은 가장 대중적으로 사용되는 모듈 번들러이다. Webpack은 의존관계에 있는 자바스크립트, css, 이미지 등의 리소스들을 하나(또는 여러개)의 파일로 번들링한다. 동시에 성능을 향상시키기 위해서 필요하다면 다시 분리도 가능하다. Webpack을 사용하면 의존 모듈이 하나의 파일로 번들링되므로 별도의 모듈 로더가 필요 없다. 그리고 여러개의 자바스크립트 파일을 하나로 번들링하므로 HTML파일에서 script 태그로 여러개의 자바스크립트 파일을 로드해..
-
호이스팅과 TDZ는 무엇일까 ?Frontend/JavaScript 2022. 7. 21. 18:02
스코프, 호이스팅, TDZ 스코프 자바스크립트의 스코프는 함수 레벨 스코프를 따른다. 같은 함수 레벨에 존재하면 값을 참조할 수 있다는 건데 ES6에서 let 키워드가 도입되면서 블록 레벨 스코프를 사용할 수 있게 됐다. 전역 스코프 - 어디서든 참조 가능 전역 변수 - 전역 스코프를 갖는 전역 변수 - 어디서든 참조 가능 지역 스코프 - 함수 자신과 하위 함수에서만 참조 가능 지역 변수 - 지역 스코프를 갖는 지역 변수 - 함수 내에서 선언된 변수로 해당 함수와 해당 함수의 하위 함수에서 참조 가능 암묵적 전역 변수 - 선언하지 않은 변수에 값을 할당하면 전역 객체의 프로퍼티가 되어 전역 변수처럼 동작한다. - 하지만 변수 선언이 없었기 때문에 호이스팅은 발생하지 않는다. (variable = 1) =..
-
JavaScript 객체와 불변성이란 ?Frontend/JavaScript 2022. 7. 21. 17:49
기본형 데이터와 참조형 데이터 데이터 타입은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. 7개의 데이터 타입을 제공하며, 7개의 데이터 타입은 기본형(원시형) 타입, 객체 타입으로 분류할 수 있다. 구분 데이터 타입 설명 기본형(원시형) 타입 숫자(number) 타입 숫자. 정수와 실수 구분없이 하나의 숫자 타입만 존재 문자열(string) 타입 문자열 불리언(boolean) 타입 논리적 참(ture)과 거짓(false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌(symbol) 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 기본(원시)형에는 Number..
-
JavaScript의 자료형과 JavaScript만의 특성은 무엇일까 ?Frontend/JavaScript 2022. 7. 20. 03:24
느슨한 타입(loosely typed)의 동적(dynamic) 언어 정적타입 - C나 자바 같은 정적 타입 언어는 변수를 선언할 떄 변수에 할당할 수 있는 값의 종류, 즉 데이터 타입을 사전에 선언해야 한다. 이를 명시적 타입 선언이라 한다. - 정적 타입 언어는 변수의 타입을 변경 할 수 없으며, 변수에 선언한 타입에 맞는 값만 할당 할 수 있다. - 정적 타입 언어는 컴파일 시점에 타입 체크(선언한 데이터 타입에 맞는 값을 할당했는지 검사하는 처리)를 수행한다. - 만약 타입 체크를 통과하지 못했다면 에러를 발생시키고 프로그램의 실행 자체를 막는다. 이를 통해 타입의 일관성을 강제함으로써 더욱 안정적인 코드의 구현을 통해 런타임에 발생하는 에러를 줄인다. 대표적인 정적 타입 언어로 C, C++, Ja..