본문 바로가기

JS/ECMAscript

ECMAScript6 온라인 실행 환경 https://es6console.com/
프로미스 promise 프로미스는 비동기 처리에 사용되는 객체이다. 다른 코드의 실행이 완료될 때까지 기다리지 않고 다른 코드를 실행하는 것이다. promise를 쓰는 이유코드를 깔끔하게 하고 콜백 지옥을 방지한다. 한번 쭉 보고 넘어가면 된다.new Promise(function(resolve, reject){ setTimeout(function() { resolve(1); }, 2000); }) .then(function(result) { console.log(result); // 1 return result + 10; }) .then(function(result) { console.log(result); // 11 return result + 20; }) .then(function(result) { console.log(..
이터러블 프로토콜 iterable protocol const Iterator = (arr)=>{ let i = 0 return{ next:()=>{ return i
이터레이터 프로토콜 iterator protocol 특정 객체의 요소를 어떤 방식과 순서로 순회할 지 정의하며 순회가 끝났는지를 나타내는 불리언 값인 done, 현재 원소 값인 value를 담은 객체를 반환하는 메서드를 이터레이터(반복자)라고 한다. const Iterator = (arr)=>{ let i = 0 return{ next:()=>{ return i
for of 순회 가능한 컬렉션(배열 O, 객체 X)의 각 요소에 접근한다. for문, for in문과 차이가 있다. var iterable = [10, 20, 30]; for (var value of iterable) { console.log(value); // 10, 20, 30}for of를 쓰면 iterable이라는 컬렉션의 값은 index가 아닌 원소 값이다. for in을 쓴다면 value는 index가 된다.var iterable = [10, 20, 30]; for (var value in iterable) { console.log(value); // 0,1,2 for of는 forEach에서는 불가능한 실행 흐름 제어를 break 또는 continue로 할 수 있다.
forEach 배열의 각 원소마다 주어진 함수를 실행한다. const arr=[] for(var i=1;i
멀티라인 문자열 템플릿 리터럴을 사용하면 여러줄의 문자열을 간단하게 쓸 수 있다. `` 안에 있는 문자열의 공백, 줄바꿈을 모두 문자열로 인식한다. const str=`안녕하십니까반갑습니다안녕 하세요?`console.log(str) 안녕하십니까반갑습니다안녕 하세요?
화살표 함수 arrow function this가 실행 시점이 아닌 정의 시점에 결정되는 함수를 정의할 수 있다.const Print = (n) => {//Print 함수에서 n으로 인자 받기 console.log(n)} Print(10)//인수 10 전달 인자가 하나인 경우 () 생략 가능 함수를 구성하는 표현식이 한 줄일 때는 {}생략 가능, 표현식이 반환됨. function을 사용한 함수와 화살표 함수와의 차이1. 생성자로 사용할 수 없다.2. 함수 내에 인수 바인딩이 없다.3. prototype 속성이 없다.