목록Javascript (4)
은학의 코딩 일기장
Promise란?자바스크립트 비동기 통신에 사용되는 객체중 하나로 비동기 작업의 완료 또는 실패를 나타냄기존 callback 방식의 call back 지옥을 해결하기 위해 Promise가 사용됨Promise의 이점비동기 처리 시점을 명확하게 표현할 수 있다.연속된 비동기 처리 작업을 수정, 삭제, 추가하기 편하고 유연하다.비동기 작업 상태를 쉽게 확인할 수 있다.코드의 유지 보수성이 증가한다.Promise 3가지 상태Pending(대기) : 비동기 로직이 아직 완료되지 않은 상태Fullfilled(이행) : 비동기 작업이 처리되어 프로미스가 결과값을 반환해준 상태rejected(실패) : 비동기 작업이 실패된 상태후속 처리 메소드thenthen 메소드는 두 개의 콜백 함수를 인자로 전달 받습니다.첫 번째..
자바스크립트 ⇒ 싱글스레드언어 ( 한번에 하나의 작업만 처리)때문에 비동기 방식은 자바스크립트가 아닌 브라우저의 web apis에서 비동기 + 논블로킹 방식으로 처리됨이벤트루프란?브라우저의 동작을 제어하는 관리자역할싱글 스레드인 자바스크립트의 작업을 멀티 스레드로 돌려 작업을 동시에 처리시키게 하던가, 또는 여러 작업 중 어떤 작업을 우선으로 동작시킬 것인지 결정하는 세심한 컨트롤을 하기 위해 존재하는 것이 바로 이벤트 루프 이벤트 루프를 이용한 프로그램 방식을 이벤트 기반(Event Driven) 프로그래밍이라고함자바스크립트의 내부 구성도call stack : 자바스크립트 엔진이 코드실행을 위해 사용하는 메모리구조callback queue : 비동기 작업이 완료되면 실행되기위해 대기하는 공event..
스코프참조 대상 식별자를 찾아내기 위한 규칙변수 / 함수의 유효범위를 뜻함전역 스코프 (Global scope) : 스크립트 전체에서 참조되는 것을 의미하며, 어느 곳에서든 참조 된다.지역 스코프 (Local scope) : 정의된 함수 내에서만 참조되는 것을 의미하며, 밖에서는 참조 되지 않는다.렉시컬 스코프함수를 어디 선언하는지에 따라 상위 스코프가 결정되는 자바스크립트를 포함한 대부분의 프로그래밍 언어는 렉시컬 스코프를 따름var x = 1;function foo() { var x = 10; bar();}function bar() { console.log(x);}foo(); // 1bar(); // 1위와 같은 상황에서 bar 함수에서 참조하는 x 변수는 bar 함수의 상위 스코프가 무엇인지에 따라..
단축평가논리(short-circuit evaluation)는 논리 연산을 수행할 때, 피연산자들을 왼쪽에서 오른쪽으로 순차적으로 평가하다가 전체 결과가 결정되는 시점에서 더 이상 평가하지 않고 결과를 반환하는 방법입니다. 이 방법은 피연산자가 많은 복잡한 논리식을 다룰 때, 연산 속도를 향상시키는 효과가 있습니다. true && true // true true && false // false true || false // true false || true // true 연산자를 배울때 이런 표를 많이 봐왔을텐데, 이걸 코드에 적용시키면 훨씬 코드를 단축시킬 수 있습니다. 논리 연산자를 사용할 때 무조건 true 혹은 false를 사용해야 되는 것은 아니며, 해당 값이 Truthy 하냐 Falsy 하냐에 ..