JS/[책] 모던 JS deep dive 16

41장. 타이머

41.1 호출 스케줄링 일정시간이 경과된 후에 함수가 호출되도록 예약하는 방식 타이머 함수 : ECMAScript에 정의된 빌트인 함수가 아닌 호스트 객체(브라우저환경, Node.js 환경에서 전역 객체의 메서드로 제공) 타이머 생성 : setTimeout, setInterval -> 타이머 만료시 콜백 함수 호출, 비동기 처리방식 타이머 제거 : clearTimeout, clearInterval 41.2 타이머 함수 setTimeout / clearTimeout 두번째 인수인 시간타이머가 만료되면 첫번째 인수인 콜백함수가 호출됨, setTimeout 함수가 생성한 고유타이머 id를 clearTimeout 함수의 인수로 전달하여 타이머 취소 const timeoutId = setTimeout(func|c..

26장. ES6 함수의 추가 기능

26.1 함수의 구분 ES6 이전의 모든 함수는 일반 함수 호출, 생성자 함수 호출이 가능함 var foo = function () { return 1; }; //ES6 이전의 모든함수는 callable이자 constructor foo();//일반함수 호출, 1 new foo();//생성자 함수 호출, foo {} var obj = {foo: foo}; obj.foo();//메서드로서 호출, 1 ES6 함수 구분 constructor prototype super arguments 일반 함수 O O X O 메서드 X X O O 화살표 함수 X X X X 26.2 메서드 : 축약표현으로 정의된 함수 const obj = { x: 1, foo(){ return this.x; },//메서드 foo bar: fu..

21장. 빌트인 객체

21.1 자바스크립트 객체의 분류 - 표준 빌트인 객체 : ECMAScript 사양에 정의된 객체로 실행환경(브라우저 또는 Node.js)과 관계없이 사용 가능, 전역객체의 프로퍼티로서 제공, 별도의 선언없이 전역 변수처럼 언제나 참조 가능 - 호스트 객체 : ECMAScript 사양에 정의되어 있지않지만 JS 실행횐경에서 추가로 제공하는 객체 브라우저 : COM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker와 같은 클라이언트 사이드 Web API를 호스트로 제공 Node.js : Node.js 고유의 API를 호스트 객체로 제공 - 사용자 정의 객체 : 사용자가 직..

20장. strict mode

20.1 strict mode란? function foo(){ x=10; } foo(); console.log(x); 변수의 선언이 없기때문에 ReferenceError가 발생할 것 같지만 JS엔진이 전역객체에 x프로퍼티를 동적으로 생성하여(암묵전 전역)10을 출력, 이는 오류의 원인이 될 수 있음 이런 현상의 방지를 위한 strict mode로 명시적인 에러를 발생시킴, 또는 ESLint 사용(문법적오류, 잠재적오류, 오류 원인 리포팅) 20.2 strict mode의 적용 //1. 전역의 선두 'use strict'; function foo(){ //2. 함수 몸체의 선두 'use strict'; x=10;//ReferenceError : x is not defined } foo(); 20.3 전역에..

18장. 함수와 일급 객체

18.1 일급 객체 일급객체의 조건 1. 무명의 리터럴로 생성 가능(런타임에 생성 가능) 2. 변수나 자료구조(객체, 배열 등)에 저장 가능 3. 함수의 매개변수에 전달 가능 4. 함수의 반환값으로 사용가능 //1. 무명의 리터럴로 생성가능 //2. 변수에 저장가능 //런타임(할당단계)에 함수 리터럴이 평가되어 함수객체가 생성되고 변수에 할당됨 const increase = function(num){ return ++num; } const decrease = function(num){ return --num; } //2. 객체에 저장가능 const auxs = {increase, decrease}; //3. 함수의 매개변수에 전달가능 //4. 함수의 반환값으로 사용가능 function makeCounte..

15장. let, const 키워드와 블록레벨 스코프

15.1 var 키워드로 선언한 변수의 문제점 15.1.1 변수 중복 선언 허용 var x = 1; var y = 1; var x = 100;//중복선언허용, var 키워드가 없는 것처럼 동작(재할당) var y;//무시됨 console.log(x);//100 console.log(y);//1 15.1.2 함수 레벨 스코프 : 함수의 코드블록만을 지역 스코프로 인정 var x = 1; if(true){ var x = 10;//중복선언, 전역변수 } console.log(x);//10 var i = 10; for(var i=0; i

반응형