본문 바로가기

Node

(13)
async function async function 변수 = await 프로미스; 인 경우 프로미스가 resolve된 값이 변수에 저장 변수 await 값; 인 경우 그 값이 변수에 저장 async function main(){ try{ const result = await promise; return result; }catch (error){ console.log(error); } } main().then((name)=>...)
프로미스 프로미스 내용이 실행은 되었지만 결과를 아직 반환하지 않은 객체 Then을 붙이면 결과를 반환함 실행이 완료되지 않았으면 완료된 후 Then 내부 함수가 실행됨 Resolve(성공리턴값) -> then으로 연결 Reject(실패리턴값) -> catch로 연결 Finally 부분은 무조건 실행됨 const condition = true; const promise = new Promise((resolve, reject)) => { if(condition) { resolve('성공'); }else{ reject('실패'); } }); promise .then((message)=>{ console.log(message); //성공(resolve)한 경우 실행 }) .catch((error)=>{ console...
클래스 클래스 Class 내부에 관련된 코드들이 묶임 Super로 부모 Class 호출 Static 키워드로 클래스 메서드 생성 class Human{ constructor(type = 'human') { this.type = type; } static isHuman(human){ return human instanceof Human; } breathe(){ alert('숨쉬기') } } class Zero extends Human{ constructor(type, firstName, lastName) { super(type); this.firstName = firstName; this.lastName = lastName; } sayName(){//자식 클래스에서 오버라이드된 메서드 super.breathe()..
구조분해 할당 구조분해 할당 1번 const example = {a: 123, b: {c: 135, d:146} const a = example.a; const d = example.b.d; 위의 것을 구조분해 const {a, b: {d}} =example; console.log(a); //123 console.log(d); //146 2번 arr =[1,2,3,4,5] const x = arr[0] const y = arr[1] const z = arr[4] 위의 것을 구조분해 const [x,y, , ,z] = arr; //비어 있는 것은 객체대입 안하겠다는 의미
노드의 특징 및 서버로서의 노드 장단점 노드의 특징 1. 이벤트 기반 이벤트의 예: 클릭, 네트워크 요청, 타이머 등 이벤트 리스터: 이벤트를 등록하는 함수 콜백 함수: 이벤트가 발생했을 때 실행될 함수 2. 논블로킹 I/O(입력(Input)/출력(Output)) 논블로킹: 오래 걸리는 함수를 백그라운드로 보내서 다음코드가 먼저 실행되게 하고, 나중에 오래걸리는 함수를 실행 -논블로킹 방식 하에서 일부 코드는 백그라운드에서 병렬로 실행됨 -일부코드 : I/O작업(파일 시스템 접근, 네트워크 요청), 압축, 암호화 등 -나머지 코드는 블로킹 방식으로 실행됨 -따라서 I/O작업이 많을때 노드의 활용성이 극대화 A함수가 B함수를 호출하면, B 함수는 실행되지만, 제어권은 A 함수가 그대로 가지고 있는다. A함수는 계속 제어권을 가지고 있기 때문에 ..