프로그래밍 언어/JavaScript + TypeScript

프로그래밍 언어/JavaScript + TypeScript

[You Don't Know JS] 7. 클로저(Closure)

본문은 JavaScript 언어에 대한 이해를 높이기 위해 "You Don't Know JS(카일 심슨 저)"를 읽고 공부한 내용을 정리한 글입니다. 공부가 목적이기 때문에 필요에 따라 생략이나 수정, 추가된 부분이 있을 수 있습니다. 클로저란? MDN은 다음과 같이 클로저를 정의하고 있다. 클로저는 함수와 함수가 선언된 어휘적 환경(렉시컬 환경)의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다. 클로저는 자바스크립트 고유의 개념이 아니라 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어(Functional Programming language: 얼랭(Erlnag), 스칼라(Scala), 하스켈(Haskell), 리스..

프로그래밍 언어/JavaScript + TypeScript

[You Don't Know JS] 6. 호이스팅(Hoisting)

본문은 JavaScript 언어에 대한 이해를 높이기 위해 "You Don't Know JS(카일 심슨 저)"를 읽고 공부한 내용을 정리한 글입니다. 공부가 목적이기 때문에 필요에 따라 생략이나 수정, 추가된 부분이 있을 수 있습니다. 1. 호이스팅이란? 자바스크립트는 모든 선언(var, let, const, function, functiton*, class)을 호이스팅한다. 다소 생소한 용어인데, 먼저 네이버 사전의 정의를 보면 다음과 같이 나와있다. hoisting (n.) 1. 끌어 올리기; 들어올려 나르기. 자바스크립트에서 호이스팅(Hoisting)이란 변수와 함수의 선언문을 해당 스코프의 꼭대기로 끌어올리는 동작을 의미한다. 이 과정에서 선언문 자체는 옮겨지지만, 함수 표현식의 대입문을 포함한 ..

프로그래밍 언어/JavaScript + TypeScript

[You Don't Know JS] 5. 스코프(Scope)

본문은 JavaScript 언어에 대한 이해를 높이기 위해 "You Don't Know JS(카일 심슨 저)"를 읽고 공부한 내용을 정리한 글입니다. 공부가 목적이기 때문에 필요에 따라 생략이나 수정, 추가된 부분이 있을 수 있습니다. 1. 스코프란? 스코프는 참조 대상 식별자(identifier, 변수/함수의 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙이다. 자바스크립트는 이 규칙대로 식별자를 찾는다. 2. 스코프의 구분 자바스크립트의 스코프는 다음과 같이 2가지로 나뉜다. 1. 전역 스코프 (Global Scope) 프로그램 내 어디에서나 참조할 수 있다. 2. 지역 스코프 (Local Scope or Function-Level Scope) 함수 ..

프로그래밍 언어/JavaScript + TypeScript

[You Don't Know JS] 4. 문법

본문은 JavaScript 언어에 대한 이해를 높이기 위해 "You Don't Know JS(카일 심슨 저)"를 읽고 공부한 내용을 정리한 글입니다. 공부가 목적이기 때문에 필요에 따라 생략이나 수정, 추가된 부분이 있을 수 있습니다. 1. 문과 표현식 const a = 3 * 6; const b = a; b; 1) 3 * 6, a, b -> 표현식 2) const a = 3 * 6, const b = a -> 선언문(Declaration Statetment) 3) a = 3 * 6, b = a -> 할당 표현식(Assignment Expression) 모든 문은 완료 값(Completion Value)을 가진다. 이는 브라우저 개발자 콘솔 창에서 쉽게 확인할 수 있다. 콘솔 창은 가장 최근에 실행된 문..

프로그래밍 언어/JavaScript + TypeScript

[You Don't Know JS] 3. 네이티브(Native)

본문은 JavaScript 언어에 대한 이해를 높이기 위해 "You Don't Know JS(카일 심슨 저)"를 읽고 공부한 내용을 정리한 글입니다. 공부가 목적이기 때문에 필요에 따라 생략이나 수정, 추가된 부분이 있을 수 있습니다. 1. 네이티브 네이티브란 특정 환경(브라우저 등의 클라이언트 프로그램)에 종속되지 않은, ECMAScript 명세의 내장 객체를 말한다. 예를 들어 Object, Math, Function, Array, Window, Button 중 네이티브가 아닌 것은 Window, Button 두 가지다. 좀 더 간단히 말해서 네이티브는 내장 함수이다. 다음은 가장 많이 쓰이는 네이티브들이다. String ( ) Number ( ) Boolean ( ) Array ( ) Object ..

코택
'프로그래밍 언어/JavaScript + TypeScript' 카테고리의 글 목록