본문 바로가기

부트캠프교육중/JavaScript63

동기, 비동기 #blocking: 하나의 작업이 끝날때까지 이어지는 작업을 막는것 동기적(synchronous)이다: 시작시점과 완료시점이 같은 상황 # 동기(synchronous) = blocking - 특정코드의 실행이 완료될때까지 기다리고 난후 다음 코드를 수행하는것 # 비동기(asynchronous) = non blocking - 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드들을 수행하는 것. - 동기적으로 운영하는 경우보다 훨씬 효율적이다. - 붕어빵계속만들기 #node.js는 비동기이다. # JavaScript는 싱글 스레드 기반으로 동작하는 언어입니다. 따라서 동기적으로 작동하게 됩니다. 런타임에서 비동기 처리를 대신해줘서 자바스크립트도 비동기처럼 작용할수있다! # 원하는대로 순차적으로 코딩하.. 2023. 1. 17.
extends, super 이용 예시 위의 관계구조를 참고하여 과제를 시행하였다. data.js부분의 내용은 Grub describe('Grub class functionality', () => { var grub; beforeEach(() => grub = new Grub()); it('`age` 속성은 `0`이어야 합니다', () => { expect(grub.age).to.equal(0); }); it('`color` 속성은 `pink`이어야 합니다', () => { expect(grub.color).to.equal('pink'); }); it('`food` 속성은 `jelly`이어야 합니다', () => { expect(grub.food).to.equal('jelly'); }); it('`eat` 메소드가 존재해야 합니다', () =.. 2023. 1. 16.
compose함수, pipe함수 # compose함수 -여러개의 함수를 인자로 전달받아 함수를 리턴하는 고차함수 -함수를 갯수제한 없이 받을수도 있다. -맨 오른쪽 인자부터 실행된다. const compose = (func1, func2) => val => func2(func1(val)); const compose = (...funcs) => (initialVal) => funcs.reduceRigth((val, fn) => fn(val), initialVal); //이 두 코드는 완전히 같다 multiply5(add2(multiply3(add2(2)))); compose(multiply5, add2, multiply3, add2)(2); #pipe함수 -맨 왼쪽인자부터 실행된다. const pipe = (...funcs) => (in.. 2023. 1. 14.
추상화 #추상화 -복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드는것 -생산성의 향상 #고차함수:함수를 전달받거나 함수를 리턴한다 -> 함수를 전달받아 처리하는 수준 -> 사고 수준에서의 추상화 값수준의 추상화: 단순히 값을 전달받아 처리하는 수준 2023. 1. 14.