JavaScript19 자바스크립트 개발자가 알아야할 33가지 개념[#10. 스케쥴링 : setTimeout 과 setInterval] 개발을 하다보면, 함수를 당장 실행하지 않고 정확히 몇 초의 딜레이 후에 실행하고 싶을 때가 있을 것이다. 이것을 호출 스케쥴링하기(scheduling a call)라고 한다. 이것을 구현하기 위해 두가지 메소드가 존재한다. setTimeout : 일정 시간 간격 이후에 함수가 한번 실행된다. setInterval : 일정 시간 간격으로 함수가 주기적으로 실핼된다. 위의 두 메소드들은 자바스크립트 스펙의 일부가 아니다. 하지만 대부분의 환경은 내부적인 스케쥴러를 갖고 있다. 그리고 이러한 메소드들을 제공한다. 구체적으로는 node.JS와 모든 브라우저에서 제공된다. setTimeout let timerId = setTimeout(func() {}, [delay], [arg1], [arg2], ...); .. 2022. 5. 20. 자바스크립트 개발자가 알아야할 33가지 개념[#09. 이벤트 루프] 자바스크립트는 싱글스레드이면서 어떻게 비동기 작업이 가능한 걸까? 자바스크립트는 언어는 싱글스레드이고 비동기 행위들은 엄밀히 말하면 자바스크립트 언어 그 자체의 일부는 아니다. 오히려 비동기 행위는 브라우저 내부(혹은 프로그래밍 환경)에 존재하는 자바스크립트 언어의 핵심(core)단의 상위에 만들어져 있다. 그리고 브라우저의 API를 통해 접근한다. 메모리 힙(Memory Heap) - 메모리 할당이 일어나는 곳 힙(Heap) - 구조화되지 않은 넓은 메모리 영역 객체(변수, 함수 등)들이 담긴다. 스택 영역 : 자바스크립트 코드 실행을 위해 제공된 싱글 스레드를 나타낸다. 함수 호출은 frame의 스택을 구성한다.브라우저 Web API : 브라우저에서 제공하는 API로 DOM, Ajax, Timeout.. 2022. 5. 19. 자바스크립트 개발자가 알아야할 33가지 개념[#08. IIFE, Modules and Namespace] 들어가기 전에 자바스크립트를 사용하는 개발자들은 다음 문법이 편할 것이다. hi()라는 이름의 함수를 정의하고 ()문법을 이용해 정의한 함수를 불러온다. 함수 정의는 항상 function 키워드로 시작한다. 그리고 뒤에는 함수의 이름이 온다. 함수의 이름을 생략하면 문법에 어긋나기 때문에 이름을 생략할 수 없다. 함수 표현식 (Funtion Expression) 함수 타입의 값을 hi라는 변수에 할당했다. 할당의 right-hand에 있는 함수는 주로 "함수표현식(Function Expression)"이라 불린다. 익명 함수 표현식 위의 코드가 함수 익명 함수 표현식이다. 함수 표현식에서 function키워드 뒤에 이름이 붙지 않은 함수를 익명 함수라고 한다. 기명(Named) 함수 표현식 함수 표현식은.. 2022. 5. 17. 자바스크립트 개발자가 알아야할 33가지 개념[#07. 표현식 (Expression) 과 문(Statement)] 표현식 (Expression) 표현식(Expression)은 하나의 값으로 평가 된다. 값(리터럴), 변수, 객체의 프로퍼티, 배열의 요소, 함수 호출, 메소드 호출, 피연산자와 연산자의 조합은 모두 표현식이며 하나의 값으로 평가된다. 표현식은 결국 하나의 값이 되기 때문에 다른 표현식의 일부가 되어 조금 더 복잡한 표현식을 구성할 수도 있다. ex) 5*10은 50으로 펼가(연산)된다. 문 (Statement) 프로그랩은 컴퓨터에 의해 단계별로 수행될 명령들의 집합이다. 각각의 명령을 문(Statement)이라 하며 문이 실행되면 무슨 일인가 일어나게 된다. 문은 리터럴, 연산자(Operator), 표현식(Expression), 키워드(Keyword) 등으로 구성되며 세미콜론(;) 으로 끝나야 한다. .. 2022. 5. 12. 이전 1 2 3 4 5 다음