본문 바로가기

Javascript/javascript Core21

[Javascript 강의] 20강.제네레이터와 async/await 제네레이터와 async/await ES6에서 도입된 제너레이터는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수다. 1. 제네레이터 함수는 함수 호출자에게 함수 실행의 제어권을 양도할 수 있다. 2. 제너레이터 함수는 함수 호출자와 함수의 상태를 주고받을 수 있다. 3. 제너레이터 함수를 호출하면 제너레이터 객체를 반환한다. 제너레이터 함수의 정의 제너레이터 함수는 function* 키워드로 선언한다. 그리고 하나 이상의 yield 표현식을 포함한다. #제너레이터 함수 선언문 function* getFunc(){ yield 1; } #제너레이터 함수 표현식 const getExpFunc = function*(){ yeild 1; }; #제너레이터 메서드 const obj =.. 2022. 2. 6.
[Javascript 강의]19강 에러 처리 에러 처리 에러 처리의 필요성 에러가 발생하지 않는 코드를 작성하는 것은 불가능하다. 따라서 에러는 언제나 발생할 수 있다. 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료된다. 예제1) 에러 처리를 하지 않는 경우 console.log('[Start]'); foo(); //ReferenceError: foo is not defined console.log('[End]'); //에러에 의해 프로그램이 종료되어 코드가 실행되지 않는다. 예제2) try...catch문을 사용해 에러 처리를 하면 계속해서 코드를 실행시킬 수 있다. console.log('[Start]'); try{ foo(); }catch(error){ console.error('[에러발생]',error); //[에러발생] .. 2022. 2. 6.
[Javascript 강의] 18강 Set과 Map Set과 Map Set Set 객체는 중복되지 않는 유일한 값들의 집합이다. 배열과 유사하지만 다음과 같은 차이가 있다 1. 동일한 값을 중복하여 포함할 수 없다 2. 요소 순서에 의미가 없다 3. 인덱스로 요소에 접근할 수 없다. Set 객체의 특성은 수학적 집합의 특성과 일치한다. Set은 수학적 집합을 구현하기 위한 자료구조다. 따라서 Set을 통해 교집합, 합집합, 차집합, 여집합 등을 구현할 수 있다. #Set 객체의 생성 const set = new Set(); console.log(set); //Set(0){} const set1 = new Set([1,2,3,3]); console.log(set1); //Set(3)[1,2,3] //배열의 중복 요소 제거 const uniq = array .. 2022. 2. 5.
[Javascript 강의] 17강. use strict, Symbol, 스프레드 문법, 디스트럭처링 할당 use strict, Symbol, 스프레드 문법, 디스트럭처링 할당 strict mode ES5부터 strict mode(엄격모드)가 추가되었다. strict mode는 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생기킨다. 예제1) 'use strict'; function foo(){ x = 10; // ReferenceError: x is not defined } foo(); 예제2) function foo(){ 'use strict'; x = 10; // ReferenceError: x is not defined } foo(); 예제3) function foo(){ x = .. 2022. 2. 4.