javascript 11

168. Event Emitter 이해

node.js 두가지 종류의 이벤트가 있다. System Events-libuv: 컴퓨터에서 시스템적으로 발생되는 이벤트. 이런 컴퓨터시스템적으로 발생되는 이벤트들을 nodejs에선 libuv 라는 코어 라이브러리가 구현되어 처리한다. Custom Events: 시스템상의 이벤트가 아닌 직접 구현하여 만든 이벤트 직접 작성된 이벤트를 다루는 것이라 자바스크립트로 작성된 라이브러리가 수행된다. nodejs 의 event emitter와 관련된 내장 모듈이 이 이벤트들을 처리해준다. nodejs 내장모듈 events를 사용해서 앞에서 만들었던 evnent emitter과 동일하게 구현해본다.

javascript 2022.04.27

166. node js 예외 처리

nodejs에서 에러 처리방법에 2가지가 있다. 1. 비동기 모듈 또는 함수의 callback에서 첫번째 매개변수로 에러정보를 반환한다. 이에 따라 비동기모듈 또는 함수 호출시 첫번째 매개변수인 에러정보를 우선적으로 확인해야한다. 에러정보가 빈값임을 확인한 후 다음작업을 수행하는 것이 권장된다. 2. 두번째 에러처리법은 try-catch, throw 다. 자바스크립트 예외처리와 동일하게 처리한다. 주의할 점은 첫번째 방법에서 활용한 패턴에 try-catch, throw를 적용하는 것은 잘못된 방법이다. 무조건 비동기함수 에러처리는 callback함수를 활용해야한다. 반대로 callback 함수로 처리하지 않는 그외 패턴 (동기sync 패턴 등) 에 대해서는 try-catch, throw를 적용하여 에러처..

javascript 2022.04.27

157. iframe 조작하기

iframe 바깥문서 이렇게 iframe이 있다. iframe은 독립된 window객체와 document를 갖는다. 테그는 contentWindow와 contentDocument를 가져서 독립된 window, document객체에 접근할 수 있다. const iframe1 = document.getElementById('iframe1'); 이렇게 ifrmae1로 위를 가리키게 만들어주고 iframe1.addEventListener('load', e => { 거기에 load리스너를 주면 내장된 문서의 로드가 끝나면 호출될 리스너함수를 등록한다 const iframeDocument = iframe1.contentDocument; iframeDocument.body.style.backgroundColor = ..

javascript 2022.04.25

54.this이해

this는 전역에서,함수에서 사용 가능하다. 함수에서도 객체안의 메소드,생성자함수, 특정 계산 목적의 용도에 따라 this가 다르게 해석된다. 1. this.valueA = 'a'; console.log(valueA); //a valueB = 'b'; console.log(this.valueB); //b //아무것도 없는 공간이 브라우저 환경이고 이 공간에서 this가 윈도우를 가리키므로 //window.valueA='a'라는 의미이다. 2. function checkThis() { console.log(this); } checkThis(); //일반적 함수에선 this는 window를 가르킨다. 3. function checkThis2() { "use strict"; console.log(this); ..

javascript 2022.04.13

53. 클래스 정적 메소드와 속성

일반 메소드는 클래스의 인스턴스를 통해 호출 but 정적 메소드는 클래스를 통해 직접 호출하는 메소드이다. 클래스에서 정적 메소드는 static키워드를 사용하여 정의한다. class Product { static build(name, price) { const id = Math.floor(Math.random() * 1000); return new Product(id, name, price); } static getTaxPrice(product) { return (product.price * 0.1) + product.price; } constructor(id, name, price) { this.id = id; this.name = name; this.price = price; } } class Dep..

javascript 2022.04.13

49. 생성자 함수

new키워드를 사용하게 되면 return문이 없어도 새로운 객체가 반환된다. 객체를 생성하는 역할을 하는 함수를 생성자 함수라고 한다. 생성자 함수는 new키워드를 사용하지 않으면 일반함수와 동일하게 동작하고 새로운 객체를 반환하지 않는다. function Teacher(name, age, subject) { this.name = name; this.age = age; this.subject = subject; this.teach = function (student) { console.log(student + '에게 ' + this.subject + '를 가르칩니다.'); }; } const jay = new Teacher('jay', 30, 'JavaScript'); // new로 생성된 객체(jay)..

javascript 2022.04.12