본문 바로가기

분류 전체보기77

JavaScript - setTimeout과 setInterval 그리고 requestAnimationFrame 함수를 당장 실행하지 않고 딜레이 후 실행하고 싶을 때 구현할 수 있는 두 가지 메서드가 있다. setTimeout - 설정해놓은 최소 시간 이후 함수가 한번 실행된다. setInterval - 설정해놓은 최소 시간 마다 일정 간격으로 함수가 주기적으로 실행된다. setTimeout 문법 let example = setTimeout(function|code, [delay], [arg1], [arg2], ...); 파라미터 function | code는 실행을 위한 함수나 문자열이다. 주로 함수를 받으며, 코드의 문자열도 넘길 수 있지만 권장하지 않는다. delay는 실행하기 전의 딜레이 즉, 최소 시간이다. ms단위로 이루어져 있으며, 1000ms = 1s이다. 기본값은 0이다. arg1, arg2..는.. 2020. 9. 21.
JavaScript - Message Queue and Event Loop Message Queue Message Queue는 아래 글 참고 2020/09/03 - [Javascript] - JavaScript - Call Stack(호출 스택) JavaScript - Call Stack(호출 스택) Call Stack 자바스크립트는 싱글 스레드(single-threaded) 프로그래밍 언어이기 때문에, 콜 스택이 하나이다. 따라서 한 번에 하나의 일만 할 수 있다. 콜 스택은 함수의 호출들을 기록하는 자료구조이�� su1993.tistory.com Event Loop Event Loop는 Call Stack과 Callback Queue의 상태를 체크하여 Call Stack이 빈 상태가 되면, Callback Queue의 첫 번째 콜백을 Call Stack으로 밀어 넣는다. 이.. 2020. 9. 18.
JavaScript - IIFE, Modules and Namespaces IIFE IIFE(Immediately Invoked Function Expression)는 정의와 동시에 즉시 실행되는 함수를 의미한다. (function() { statements })(); Self-Executing Anonymous Function으로 알려진 디자인 패턴이고 크게 두 부분으로 구성된다. 첫 번째는 괄호((), Grouping Operator)로 둘러싸인 익명함수(Anonymous Function)이다. 이는 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부 안으로 다른 변수들이 접근하는 것을 막을 수 있다. 두 번째는 즉시 실행 함수를 생성하는 괄호() 이다. 이를 통해 자바스크립트 엔진은 함수를 즉시 해석해서 실행한다. 아래 함수는 .. 2020. 9. 18.
JavaScript - Expression vs Statement(표현식과 문장) 자바스크립트에서는 대표적인 2가지 문법적 카테고리가 있다. Expression Statement 표현식(Expression)은 문장(Statement)처럼 동작할 수 있지만 문장(Statement)은 표현식(Expression)처럼 동작할 수 없다. Expression(표현식) 표현식은 값을 산출해내는 코드를 의미한다. 값이 도출되기 때문에 함수의 인자로 들어갈 수 있다. 1; 5 + 5; 'Hello world'; exFunc('a','b'); exam; 표현식은 자바스크립트 코드 중 값이 들어가는 곳이면 어디든 넣을 수 있다. 그래서 console.log의 인자는 콘솔이 로깅될 때 하나의 값으로 변한다. console.log(true && 1 * 5) // 5 표현식은 상태(State)를 바꿀 필요는.. 2020. 9. 16.