본문 바로가기
728x90
반응형

function9

미래를 향한 함수_2. 프로미스(promises) from Secrets of the JavaScript Ninja 이번 글은 'Secrets of the JavaScript Ninja'의 'Chapter 6. Funtions for the future: generators and promises'를 바탕으로 작성하였습니다. 핵심 Concepts 제너레이터를 활용한 끊임 없는 함수 실행 프로미스를 활용한 비동기적(asynchronous) 작업 수행 제너레이터와 프로미스를 합쳐 유려한 비동기적 코드 작성 사전 지식 체크! 제너레이터 함수의 일반적인 사용에는 어떤 것들이 있는가? 비동기적 코드를 구현하는 데 일반적인 콜백보다 프로미스가 더 나은 이유? Promise.race.를 활용하여 긴 코드 작업을 수행할 때 프로미스는 언제 해결되는가? 그리고 언제 해결되는 데 실패하는가? Working with promises Ja.. 2022. 4. 13.
미래를 향한 함수_1. 제너레이터(generators) from Secrets of the JavaScript Ninja 이번 글은 'Secrets of the JavaScript Ninja'의 'Chapter 6. Funtions for the future: generators and promises'를 바탕으로 작성하였습니다. 핵심 Concepts 제너레이터를 활용한 끊임 없는 함수 실행 프로미스를 활용한 비동기적(asynchronous) 작업 수행 제너레이터와 프로미스를 합쳐 유려한 비동기적 코드 작성 사전 지식 체크! 제너레이터 함수의 일반적인 사용에는 어떤 것들이 있는가? 비동기적 코드를 구현하는 데 일반적인 콜백보다 프로미스가 더 나은 이유? Promise.race.를 활용하여 긴 코드 작업을 수행할 때 프로미스는 언제 해결되는가? 그리고 언제 해결되는 데 실패하는가? 들어가며 일반적인 함수는 처음부터 끝까지 코.. 2022. 4. 13.
함수의 달인이 되자_1. 클로저(closure)와 스코프(scope) from Secrets of the JavaScript Ninja 이번 글은 'Secrets of the JavaScript Ninja'의 'Chapter 5. Functions for the master: closures and scopes'를 바탕으로 작성하였습니다. 핵심 Concepts 개발 과정을 간소화하기 위한 클로저 사용법 실행 컨텍스트(execution context)를 통한 JavaScript 프로그램의 실행 절차 추적 렉시컬 환경(lexical environments)를 통한 변수 스코프(variable scopes) 추적 변수 종류에 대한 이해 클로저 작동 방법에 대한 탐구 사전 지식 체크! 스코프는 각기 다른 변수나 메소드를 몇 개나 가질 수 있으며 종류는 무엇인가? 식별자(indentifier)는 어떻게 값을 가지며 추적되는가? 수정 가능한 변수는.. 2022. 4. 11.
프로토타입(Prototype)을 알아보자! 이번 글은 '何となくJavaScriptを書いていた人が1歩先に進むための本(아무 생각 없이 JavaScript를 작성하던 사람이 한 걸음 더 나아가기 위한 책)의 Chapter 5. プロトタイプを知っておこう!(프로토타입을 알아보자!)'를 바탕으로 작성하였습니다. 프로토타입이란? JavsScript에서 '프로토타입'이란 약간 어폐가 있긴 하지만 아무튼 '클래스(Class)의 대신'이라고 생각해두자. 원래 JavaScript에는 '클래스'라는 개념(※)이 없으므로 그 대신 이 '프로토타입을 구사하여 객체 지향과 유사한 기능'을 구현한다. ※ ES6(ECMAScript6)에 와서야 도입되었다. 프로토타입 프로퍼티(Prototype Property) 객체에는 멤버를 추가하기 위한 프로토타입 프로퍼티라는 것이 존재한.. 2022. 4. 7.
함수를 좀더 이해해보자! 이번 글은 'JavaScriptの理解を深めた人がさらにもう1歩先に進むための本(JavaScript를 깊게 이해한 사람이 한 걸음 더 나아가기 위한 책)의 Chapter 6. 関数をもっと理解しよう!(함수를 좀더 이해해보자!)'를 바탕으로 작성하였습니다. 다시금 '함수'란 무엇인가 JavaScript에서 함수는 언급할 필요도 없을 만큼 매우 중요하다. '함수'란 도대체 무엇인가. 사전적 정의가 아니라 어떤 원리로써 함수 안에 정의된 내용을 실행하는 것인가. 우선 함수가 갖는 특징을 아래에서 살펴보자. 함수도 객체이다. 함수 자신을 인수나 반환값으로 설정할 수 있다.(고차함수) 인수를 엄밀히 확인하지는 않는다. '() 연산자'로 실행한다. 특히 '함수도 객체이다'라는 점은 다른 언어에는 없는 JavaScript만.. 2022. 4. 7.
함수에 대한 이해를 넓혀 보자! 이번 글은 '何となくJavaScriptを書いていた人が1歩先に進むための本(아무 생각 없이 JavaScript를 작성하던 사람이 한 걸음 더 나아가기 위한 책)의 Chapter 4. 関数の理解を深めよう!(함수에 대한 이해를 넓혀보자!)'를 바탕으로 작성하였습니다. 함수를 제패하는 자 프로그래밍 세계를 제패한다 JavaScript의 세계에서 객체와 더불어 중요한 키워드는 '함수'이다. 다른 언어와 달리 'JavaScript에서는 함수도 자료형의 일종'이어서 다른 언어를 경험한 사람들은 이 점을 자주 헷갈려한다. 따라서 JavaScript를 이해하는 데 있어 JavaScript만의 독자적인 함수의 기능을 아는 것이 매우 중요하다. 함수의 정의 방법 JavaScript에서 함수는 3가지 방법으로 정의 가능하다. .. 2022. 4. 7.
'this'를 갈고 닦자! 이번 글은 'JavaScriptの理解を深めた人がさらにもう1歩先に進むための本(JavaScript를 깊게 이해한 사람이 한 걸음 더 나아가기 위한 책)의 Chapter 3. thisを極めよう!(this를 갈고 닦자!)'를 바탕으로 작성하였습니다. 함수에서 호출했을 때의 'this' 함수에서 호출했을 때 this는 global object를 가리킨다. 대부분의 경우 JavaScript는 브라우저에서 동작하기 때문에 global object는 'window object'를 가리키는 것이다. function checkThis() { console.log(this); // Window ※ 브라우저에서 실행했을 경우 this.val = 'test'; // global scope member로 추가됨 } checkTh.. 2022. 4. 7.
함수 장인이 되는 길_함수 호출에 대한 이해 from Secrets of the JavaScript Ninja 이번 글은 'Secrets of the JavaScript Ninja'의 'Chapter 4. Funtions for the journeyman: understanding function invocation'를 바탕으로 작성하였습니다. 핵심 Concepts function의 내재된 parameter 2가지: argumnets & this 함수 호출 방법 function contexts에 생긴 문제 해결 사전 지식 체크! this parameter가 function context로 알려진 이유? function과 method의 차이? constructor function이 명확하게(explicitly) object를 반환하면 생기는 일? 들어가며 이번 글에서는 내재적인(implicit) function p.. 2022. 4. 6.
초심자를 위한 함수의 정의와 arguments_1. 객체로서의 함수 from Secrets of the JavaScript Ninja 이번 글은 'Secrets of the JavaScript Ninja'의 'Chapter 3. First-class functions for the novice: definitions and arguments'를 바탕으로 작성하였습니다. 핵심 Concepts 함수를 이해하는 것이 중요한 이유 함수는 어떻게 first-class objects일까? 함수를 정의하는 방법들 파라미터는 어떻게 부여되는가 사전 지식 체크! callbak funtion은 어떤 환경에서 쓰이는가? 동기적인 환경? 아니면 비동기적인 환경? arrow function과 function expression의 차이점? 왜 default parameter를 사용하는가? 들어가며 JavaScript를 통달하기 위해서는 JavaScript가 f.. 2022. 4. 5.
728x90
반응형