반응형

js 13

[JS] 동기와 비동기

동기(Synchronous) 순차적으로 태스크를 수행 어떤 작업이 수행중이라면 뒤의 작업은 대기 상태 즉, 블로킹이 발생 비동기(Asynchronous) 병렬적으로 태스크를 수행 동기 방식과 달리 완료 순서가 보장되지 않음 자바스크립트는 기본적으로 한 번에 하나의 작업을 수행하는 동기식 언어이다. 그것은 자바스크립트 엔진의 구조를 이해하면 알 수 있다. 자바스크립트 엔진은 메모리 힙과 콜 스택으로 구성된다. 메모리 힙은 변수와 객체의 메모리 할당을 담당하는 곳이며 콜 스택은 함수가 호출이 될 때마다 순서대로 쌓이는 곳이다. 가장 최근에 쌓인 것부터 실행되어 종료되기 때문에 LIFO 구조이며 동기적으로 동작한다. 자바스크립트의 비동기적 실행 기본적으로 동기적으로 동작하는 자바스크립트지만 웹 브라우저의 성능..

[JS] 자바스크립트 문법 확장

Truthy & Falsy - 자바스크립트는 boolean 타입이 아닌 값을 Truthy(참 같은 값), Falsy(거짓 같은 값)으로 구분한다. - 따라서 조건문이나 반복문의 제어문에서 Truthy는 true로, Falsy는 false로 암묵적 형 변환이 일어난다. - Falsy로 분류 되는 값은 다음과 같고 그 외 값들은 코두 Truthy로 분류된다. - null, undefined, 0, NaN, " " (빈 칸) const getName = (person) => { if (!person) { return "객체가 아닙니다."; } return person.name; }; let person; // undefined const name = getName(person); console.log(name..

[JS] JavaScript 문법 정리

자바스크립트 연산자 ==(!=) 와 ===(!==)의 차이 - == 은 타입에 상관없이 값만 같은지 비교, ===은 타입까지 같은지 비교 ?? (NULL 병합 연산자) - ??의 왼쪽 피연산자가 null이거나 undefine인 경우 오른쪽 연산자를 반환하고 그렇지 않으면 왼쪽 피연산자를 반환 // height가 null이나 undefined인 경우, 100을 할당 height = height ?? 100; 함수표현식 - 변수에 값을 할당하는 것처럼 함수 선언문이 변수에 할당하여 함수를 값처럼 사용하는 것 let sayHi = function() { alert( "Hello" ); }; sayHi(); 호이스팅 - 호이스팅이란 코드를 실행하기 전 변수선언 / 함수선언이 해당 스코프의 최상단으로 끌어 올려진..

반응형