호이스팅(Hoisting) 클로저같은 문법들의 효용성을 이해하기위해서 자바스크립트가 가졌던 특징입니다. var나 let, const로 정의된 변수나 함수선언문, 함수표현식이 유효범위의 최상단으로 끌어올려지는 것처럼 보여지는현상을 말합니다. 최상단으로 끌어올려지는 것처럼이라고 설명한 이유는 가상의 개념으로 설명하는 것이 좀 더 이해의 측면에 유리하기 때문입니다. 정확히 말하면 실행 컨텍스트가 활성화 되었을때 해당 영역에서 변수의 이름을 메모리에 먼저 수집하는 현상으로 인해 발생하는 현상입니다. 즉, 가상의 개념에서는 이해를 돕기위해 호이스팅을 '최상단으로 끌어올려진다'라고 말하지만 코드의 위치는 변하지 않습니다. 간단히 말하면, '유효범위의 코드가 실행되기 전 메모리에 먼저 저장했던 선언문을 사용할 수 있..
스코프는 자바스크립트를 이용하는 데에 있어 필수적인 개념입니다. 이 포스팅 뒤로 클로저에 대해 알아볼 건데, 그전에 앞서 스코프의 정의가 먼저 필요하기 때문에 스코프 정의를 먼저 정리해보겠습니다. 스코프(Scope)의 정의 함수를 작성할 때 아래와 같이 중괄호 '{ }'를 이용하여 함수의 범위를 작성합니다. function hello(){ alert('함수 작성'); } 즉, [변수가 영향을 미치는 범위], [변수의 유효 범위], [코드가 유효한 범위]라고 할 수 있으며 규칙입니다. 그리고 스코프의 종류에따라 변수, 함수, 코드 등의 유효 범위가 달라질 수 있습니다. 스코프(Scope)의 종류 스코프의 종류에 대해 알기 쉽게 알아봅시다. 1.동작 - 정적 스코프 - 동적 스코프 2.레벨 - 함수 레벨 스..
이전 포스팅 바로가기 이전에 포스팅에서 minify, merge를 진행해봤었는데요, 이번엔 자동화를 시켜보겠습니다. gulp 실행후 minify, merge가 끝나고나서, 다시 원본파일을 수정하면 cmd에 gulp를 입력해서 실행해야하기때문에, 이 번거로움을 없애고자 자동화를 시켜보도록하겠습니다. 자동화는 gulp의 메소드 watch를 이용해서 실행합니다. watch는 gulp의 메서드로 제공되고 있으며 내가 지정한 파일을 지켜보고 있다가 그 파일에 변화가 생기면 자동으로 설정된 행동을 진행해줍니다. 지난 코드에서 이어서 진행하겠습니다. gulpfile.js const gulp = require('gulp'); const concat = require('gulp-concat'); const uglify ..
*가 적혀있는 단어에 대한 뜻은 최하단에 있습니다. TypeScript를 공부해볼까하면서 찾아본 튜토리얼 사이트에서 gulp를 마주했습니다. https://typescript-kr.github.io/pages/tutorials/Gulp.html 그리고 튜토리얼 따라하는도중 에러가 뜨게되었는데, gulp에 대한 지식이 1도 없었기 때문에 찾고 공부한 내용을 작성해둡니다. 에러사항 AssertionError [ERR_ASSERTION]: Task function must be specified 검색하면 첫번째로 나오는 감사한 블로그에서 정보를 얻었습니다. gulp의 버전이 4가 되면서 작성 규칙이 조금 바뀌었다고 합니다. https://forgiveall.tistory.com/521 task룰에 series..