본문 바로가기

Javascript7

Javascript의 callback과 promise javascript는 single thread에서 동작하는 언어입니다. single thread에서 동작한다는 것은 한 번에 한 가지 일만 처리할 수 있다는 것을 의미합니다. 하지만 javascript가 처리하는 브라우저의 이벤트들은 한 번에 한 가지씩만 발생하지 않기 때문에 single thread로 비동기적으로 발생하는 이벤트를 처리하기 위한 메커니즘이 필요했습니다. 그래서 등장한 것이 callback 함수입니다. Callback javascript에서는 비동기 함수를 호출할 때 callback 함수를 같이 넘겨줍니다. javascript는 비동기 함수가 종료되면 같이 넘어온 callback 함수를 실행합니다. setTimeout(() => console.log('Hello, my name is jo.. 2021. 5. 19.
Javascript의 실행환경과 동작방식 Node.js 가 등장하기 전 javascript 코드는 브라우저에서만 동작할 수 있었습니다. javascript 코드가 동작하려면 어떤 환경이 갖춰져야 하길래 브라우저에서만 동작할 수 있었는지 그리고 javascript 코드는 어떤 방식으로 동작하는지에 대해 정리해보겠습니다. Javascript 실행환경 javascript 코드는 특정한 실행환경이 갖춰져야 동작이 가능합니다. 그 실행환경은 아래 4가지 요소로 구성됩니다. javascript 엔진 Web API / Node API callback 큐 이벤트 루프 먼저, javascript 엔진에 대해 알아보겠습니다. javascript 엔진은 javascript 코드를 읽고 실행시키는 프로그램입니다. 위 사진에서 JS, Memory Heap, Call .. 2021. 4. 25.
Javascript의 iterable, iterator, generator javascript에서의 iterable, iterator, generator에 대해 정리해보겠습니다. TL;DR iterable 프로토콜과 iterator 프로토콜을 만족하면 어떤 객체든지 iterable 객체, iterator 객체가 될 수 있음. iterable 프로토콜 : iterator 객체를 반환하는 함수가 Symbol.iterator 프로퍼티에 들어있어야함. iterable 객체 : for of 문이나 ...(spread) 연산자처럼 값들을 순회하는 연산에 사용될 수 있는 객체. iterator 프로토콜 : next() 메서드를 가지고 있어야하면 next() 메서드는 value, done 프로퍼티를 가지는 객체를 반환해야함. iterator 객체 : 값들을 순회할 수 있는 객체. iterab.. 2021. 4. 6.
프로토타입 체인을 이용한 Javascript의 상속 이전 글에서 javascript의 class와 프로토타입 체인에 대해 간단히 정리해봤습니다. 이번 글에서는 javascript가 프로토타입 체인을 이용해 어떻게 상속을 구현하는지에 대해 정리해보겠습니다. TL;DR javascript에서는 프로토타입 체인을 이용해 상속이 구현됨. extends 키워드를 통해 클래스의 상속 관계를 만들 수 있음. 상속 관계가 되면 자식 클래스의 프로토타입은 부모 클래스의 프로토타입을 가지게 됨으로써 프로토타입 체인이 만들어짐. 인스턴스에서 프로퍼티에 접근하려고 할 때 프로토타입 체인을 따라 상위 프로토타입으로 거슬러 올라가면서 프로퍼티를 찾음. 따라서 부모 클래스와 자식 클래스에 같은 이름의 프로퍼티가 있을 때 자식 클래스에 있는 프로퍼티에 접근하게 됨.(가려짐 효과) 메.. 2021. 2. 21.