반응형
Javascript는 간단한 for 루프에서 map() 함수와 filter()에 이르기까지, 컬렉션을 반복하는 방법이 여럿 존재합니다. 반복기및 생성기는 반복 개념을 핵심 언어 내로 가져와 for...of 루프의 동작을 사용자가 직접 정의하는 매커니즘을 제공합니다. 1. 반복자 반복자(lterator)는 시퀀스를 정의하고 종료시의 반환값을 잠재적으로 정의하는 객체입니다. 두 개의 속성 (value, done)을 반환하는 next() 메소드를 사용해 객체의 lterator protocol을 구현합니다. 시쿼스의 마지막 값이 이미 산출되었다면 done 값은 true가 됩니다. 만약 value 값이 done과 함께 존재하면, 그것은 반복자의 반환값이 됩니다. 반복자를 생성하면 next() 메소드를 반복적으로 ..
형식화 배열(typed array)은 배열같은 원시(row) 이진 데이터에 엑세스하기 위한 매커니즘을 제공합니다. Array 객체는 동적으로 늘어나다 줄어들고 어떤 Javascript 값이든 가질 수 있습니다. Javascript 엔진은 이렇한 배열이 빨라지도록 최적화를 수행합니다. 그러나, audio 및 video 태그 조작과 관련된 기능 추가, WebSocket은 원시 데이터에 엑세스 등 웹 어플리케이션이 점점 더 강력해짐에 따라, 빠르고 쉽게 형식화 배열의 원시 이진 데이터를 조작할 수 있게 하는 것이 코드에 도움이 될때가 있음을 분명해졌습니다. 그러나, 형식화 배열은 보통 배열과 혼동되지는 않고, 형식화 배열의 Array.isArray() 호출은 false를 반환하기에, 보통 배열에 이용할 수 있..
1. Using promises Javascript에서 Promise는 비동기 작업의 최종 완료 또는 실패를 구현하는 객체로 기본 적으로 promise는 콜백은 전달하는 대신에, 콜백을 첨부하는 방식의 개체입니다. 예를 들어 비동기로 음성 파일을 생성해주는 createAudioFileAsync()라는 함수가 있다 가정하고. 해당 함수는 음성 설정에 대한 정보를 받고, 두 가지 콜백 함수를 받습니다.function successCallback(result) { console.log("오디오 파일 주소: " + result);}function failureCallback(error) { console.log("재생 실패: " + error);}createAudioFileAsync(audioSetting..
1. MapsECMAScript 6 에선 값들을 매핑하기 위한 새로운 데이터 구조를 소개하고 있습니다. 그 중 하나인 Map 객체는 간단한 키와 값을 서로 연결(매핑)시켜 저장하며 저장된 순서대로 각 요소들을 반복적으로 접근할 수 있도록 합니다. Map 객체에 저장되어 있는 각 요소들을 [키, 값] 형태의 배열로 반복적으로 반환해주는 for...of를 사용할 수 있습니다.var classic = new Map();let n = ["Germany", "Austria", "England", "Poland"];classic.set("Beethoven", n[0]);classic.set("Mozart", n[1]);classic.set("Haydn", n[1]);classic.set("Elgar", n[2]);..
1. 배열 생성const arr1 = new Array(element0, element1, /* ..., */ elementN);const arr2 = Array(element0, element1, /* ... , */ elementN);const arr3 = [element0, element1, /* .. , */ elementN]; element0, element1, ... , elementN은 배열의 요소에 대한 값의 목록으로 배열은 해당 값을 배열의 요소로 초기화 됩니다. 배열의 length 속성은 인수의 수로 설정됩니다. 대괄호 구문을 "배열 리터럴" 또는 "배열 초기자(array Initializer)"라고 합니다. 배열 생성을 위한 다른 형태보다 짧아 일반적으로 선호하는 방법입니다.cons..
1. 정규 표현식 만들기정규 표현식은 두 가지 방법으로 만들 수 있습니다. 정규 표현식 리터럴const re = /ab +c/; 정규 표현식 리터럴은 스크립트를 불러올 때 컴파일되며, 바뀔 일 없는 패턴의 경우 리터럴을 사용하면 성능이 향상될 수 있습니다.RegExp 객체의 생성자 호출const re1 =new RegExp("ab+c"); 생성자 함수를 사용하면 정규 표현식이 런타임에 컴파일되고, 바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출저에서 가져오는 패턴에 경우 이렇게 사용하면됩니다. 2. 정규 표현식 패턴 작성하기정규 표현식 패턴은 /abc/ 처럼 단순한 문자로 구성하거나, /ab+c/ 와 /Chapter (\d+)\. \d*/ 처럼 단순한 문자와 특수 문자 조합으로 구성할 수 있습니다. 특..