본문 바로가기

Programming Languages/javascript

(4)
Callback 콜백을 이해하기 위해선 우선 비동기 처리라는 단어의 뜻을 알 필요가 있다. 자바스크립트에서의 비동기 처리는 코드 진행을 순차적으로 하는 것이 아니라 특정 코드는 코드 진행 순서를 지나가도 종료되지 않고 대기하고 있다가 다른 코드들의 실행이 끝난 뒤 처리가 이루어진다. 비동기 처리가 필요한 이유는 만약 내 블로그에서 글을 작성하면 만 명의 구독자들에게 이메일을 보내고 글 작성을 완료한다는 순서를 가정했을 때 1명당 1초의 시간을 들여 이메일을 보낸다고 하면 약 3시간이 걸린다. 그러면 글을 작성하고 3시간을 기다렸다가 글 작성이 완료되는 셈이다. 이것은 너무 비효율적이다. 자바스크립트에서 함수는 Object이다. 이 때문에 함수는 다른 함수의 인자로도 쓰일 수도 있고 어떤 함수에 리턴이 될 수도 있다. 인..
super class calCul{ constructor(name,first,second){ this.name = name; this.first = first; this.second = second; } sum(){ return `${this.name} : ` + (this.first + this.second); } } let park = new calCul('park',10,20); console.log(park.sum()); 위 코드 내용을 살리고 추가적으로 더 함수 인자를 받거나 메소드를 만들고 싶다면 extends 로 calCul을 상속받아 새로운 class를 작성할 수 있다. class calCul{ constructor(name,first,second){ this.name = name; this.firs..
class class는 객체를 찍어 내는 공장이라고 생각하면 된다. 원래 javascript에서는 class를 지원하지 않았다. 대신에 constructor를 통해 객체를 찍어 내고 있다가 class라는 문법을 도입하였다. 클래스 표현 방법 function calCul(name,first,second){ this.name = name; this.first = first; this.second = second; }; calCul.prototype.sum = function(){ return `${this.name} : ` + (this.first + this.second); }; let park = new calCul('park',10,20); 위 코드를 class 로 다시 정리해 보면 class calCul{ co..
prototype javascript에서 거의 모든 객체는 Object의 인스턴스이다. 일반적인 객체는 Object.prototype 에서 속성과 메소드를 상속받는다. function Food (){} Food.prototype.foodDrop = true; function Fruit (){} Fruit.prototype = new Food(); function Apple (){} Apple.prototype = new Fruit(); var a = new Apple(); console.log(a.foodDrop); 위 코드의 내용을 보면 Food, Fruit, Apple 이라는 3개의 생성자가 정의 되어 있다. 그리고 a 에 Apple이라는 객체를 만들었을 때 a의 foodDrop이라는 프로퍼티에 접근했을때 true라는..