일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스코프
- ubuntu
- JS
- Push
- graphql
- 알림
- JavaScript
- 변수
- 후기
- Python
- 카카오
- Notification
- MongoDB
- 레이아웃
- 배포
- EC2
- navigation
- 면접
- 자바스크립트
- 디자인
- scope
- Express
- AWS
- github
- 네이티브
- React
- NATIVE
- Background
- 네비게이션
- 리액트
- Today
- Total
목록JavaScript (14)
어서와, 개발은 처음이지?
(2020.01.29) 스코프 관점에서 볼 수 있도록 새로 작성했습니다. 자바스크립트에는 클로저(Closure)라는 개념이 존재합니다. 프로토타입 기반의 언어인 자바스크립트는 클로저를 통해서 클래스 기반 언어처럼 캡슐화, 모듈화 작업을 수행할 수 있습니다. 또한, let과 const가 없던 시절부터 변수의 제어를 도왔습니다. (var 변수는 함수 범위에서 전역적이기 때문에 종종 문제가 발생합니다.) 클로저 모질라 형님들의 도큐먼트에 의하면 '클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다.' 라고 나와있습니다. 그냥 봤을땐 이게 뭔 개소리야? 싶습니다. 간단하게 정리하면 함수 밖에서 선언된 변수를 함수 내부에서 사용할 때 클로저가 생겨난다고 할 수 있습니다. function outer(){ var ..
메모리는 변수나 값이 저장되는 공간입니다. 메모리에 대한 이야기가 낯설다면, 내 코드가 실행될 때 내가 선언한 변수, 함수, 실행문들이 어딘가에 담겨지고, 그곳이 메모리구나 정도로 생각하시면 되겠습니다. 클로저(Closure)에 대한 이해를 돕기위해, 메모리 측면에서 변수나 함수의 파라미터가 함수 안에서 어떻게 동작하는지 알아보는 시간을 갖겠습니다. mutable 객체와 immutable 객체 자바스크립트 자료형 중 String(문자열), Number(숫자), Boolean(참/거짓), undefined, null은 immutable(변경불가능한) 객체 입니다. 반대로 Function(함수), Array(배열), Object(객체)은 mutable(변경가능한) 객체 입니다.(immutable하지 않은 모..
(안내) 호이스팅의 원리에 대한 글을 추가로 포스팅했습니다. (19.10.13) 자바스크립트의 변수는 다른 언어들과 조금 다르게 동작합니다. 이는 때때로 개발자로 하여금 의도하지 않은 결과를 발생시키기도 합니다. es2015 이후로 let이나 const를 사용하여 예방할 수 있지만 Closure같은 문법들의 효용성을 이해하기 위해서 고전 자바스크립트가 가졌던 특징을 다지고 가는것이 좋겠습니다. var 변수의 의도치 않은 현상 잠시 아래 코드를 보겠습니다. if(true){ var name = 'yuddomack'; } console.log(name); for(var i=0; i
(19.07.11.안내)이론적인 내용이 궁금하시다면 자바스크립트 스코프(scope)도 읽어봐주세요 자바스크립트는 var 문법을 통해 변수를 선언할 수 있습니다. 또한 es2015부터 let과 const라는 문법으로도 선언할 수 있게 되었습니다.모질라 형님들의 문서에 따르면 var은 함수 스코프(function-level scoped), let과 const는 블록 스코프(block-level scoped)를 갖는다고 합니다. 몇가지 예제를 통해 var, let, const의 특징과 함수 스코프와 블록 스코프의 차이점을 알아보겠습니다. 블록 스코프 블록 스코프는 중괄호{ }로 감싸진 범위를 말합니다. if(true){ var variable1 = 'I am in a block'; let variable2 =..