본문 바로가기
반응형

programming language32

변수에 대하여 ⤴️ 호이스팅 [var] 한번 선언된 변수를 다시 선언할 수 있다. var는 선언하기 전에 사용할 수 있다. var name console.log(name) //undefined name ="Mike" //할당 var로 선언한 모든 변수는 최상위로 끌어올리는 것처럼 동작한다. (호이스팅 현상이 발생함) 하지만 할당된 값은 호이스팅이 되지 않았다. [let] console.log(name) //ReferenceError let name ="Mike" //할당 같은 상황에서 let은 error가 발생한다. 그렇다면 let은 호이스팅이 되지 않나? 그렇지 않다. let도 호이스팅이 발생한다. (호이스팅: 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동) 그렇다면 왜 var처럼 동작하지 않고 e.. 2022. 10. 13.
Webpack [모듈] 파일을 여러개로 분리해서 개발을 한다. 이렇게 분리된 파일을 모듈이라고 한다. 필요한 어떤 곳에서든 사용할 수 있기에 자주 사용하는 코드는 모듈로 만든다. 브라우저는 웹서버에 자원을 요청하고 준비된 자원을 응답함으로써 ui를 만들 수 있다. 개수가 많아지면 네트워크 자원의 증가는 페이지 로딩시간이 길어짐으로 사용자 경험에 좋지 않다. 개발 편의를 위해 모듈로 분리해서 개발을 하고 페이지 로딩을 줄일 수 있는 방법은 브라우저에서 서버로 요청하는 http요청을 줄이는 것이다. 모듈로 나눠서 개발로하고 이러한 모듈을 개발 전에 하나의 파일로 묶어서 배포를 하는것이다. 그만큼 서버로 요청하는 개수가 줄어들기때문에 사용자 경험을 향상시킬 수 있다. 이렇게 하나의 모듈로 묶는 작업을 번들링이라고 한다. 여.. 2022. 9. 20.
모듈 시스템 분리된 하나의 파일을 모듈이라고 한다. 이러한 모듈을 언제든지 불러오는 방법을 모듈 시스템이라고 한다. js에서 모듈 시스템이 있기 전에는 브라우저에서 script파일을 선언해서 불러 올 수 있다. 하지만 이러한 방법은 하나의 파일에 있는 것처럼 전역 스코프를 공유하게 된다. 즉 전역 스코프를 공유한다는 문제점이 생긴다. //a.js let number = 10 //b.js let number = 20 //index.html //number: 20 number를 콘솔에 출력했을 때 20이 출력됨을 확인할 수 있다. b.js파일을 가장 마지막에 불러왔기때문에 덮어씌여졌다. 이처럼 실제로 파일은 나누어져있지만 브라우저에서 동작할때는 마치 하나의 파일에 있는것처럼 동작하게 된다. 이렇게 이름이 같은 변수명이 .. 2022. 9. 20.
Node.js chrome v8 javascript 엔진으로 빌드 된 javascript 런타임이다. * javascript 런타임이란? 런타임이란 프로그래밍 언어가 구동되는 환경을 말하는데, Node.js나 크롬 등의 브라우저들은 javascript가 구동되는 환경이기 때문에 브라우저나 node.js들을 자바스크립트 런타임이라고 말한다. 브라우저: HTML,CSS,자바스크립트를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 목적 브라우저는 DOM API를 기본적으로 제공한다. Node.js: 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주된 목적 Node.js는 DOM API를 제공하지 않는다. 브라우저 외부 환경에서는 HTML요소를 파싱해서 객체화한 DOM을 직접 다룰 필요가 없기 때문이다. 서버사.. 2022. 9. 20.
728x90
반응형