ES6 19

Rest

Rest Rest 파라미터 구문은 정해지지 않은 수(an indefinite number, 부정수) 인수를 배열로 표현 =>모든값을 하나의 변수로 만들어주는것 const args = (...params) => console.log(params); //["1", 2, "a", true, Array(4), Object] args("1", 2, "a", true, [1,2,3,4], {name:"Jone", age : 25}); // 특정 KEY/VALUE 제거 const user = { name:"Jone", age:24, gender: "F" } const killGender = ({gender, ...rest}) => rest; const cleanUser = killGender(user); consol..

ES6 2021.04.01

SPREAD (전개구문)

SPREAD 전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장 => 즉 변수를 가져가서 풀어해친다. console.log(...[1, 2, 3]) // 1, 2, 3 console.log(...'Hello'); // H e l l o const friends = [1, 2, 3]; const family = ['a', 'b', 'c']; console.log([friends, family]); //[Array(3), Array(3)] console.log([...friends, ...family]); //[..

ES6 2021.03.31

DESTRUCTURING [구조분해할당]

DESTRUCTURING 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식 Object Destructuring (객체 디스트럭처링) 객체 디스트럭처링은 객체의 각 프로퍼티를 객체로부터 추출하여 변수 리스트에 할당한다. 이때 할당 기준은 키 // ES6 Destructuring const obj = { firstName: 'Jone', lastName: 'Smith' }; // 프로퍼티 키를 기준으로 디스트럭처링 할당이 이루어진다. 순서는 의미가 없다. // 변수 lastName, firstName가 선언되고 obj(initializer(초기화자))가 Destructuring(비구조화, 파괴)되어 할당된..

ES6 2021.03.31

Array.findIndex() 및 array.fill()

Array.findIndex() findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환 const array1 = [5, 12, 8, 130, 44]; const isLargeNumber = (element) => element > 13; console.log(array1.findIndex(isLargeNumber)); // expected output: 3 Array.fill() fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채움 const array1 = [1, 2, 3, 4]; // fill with 0 from position 2 until position 4 console.log(array1.fill(0, 2, ..

ES6 2021.03.31

Array.of() 및 Array.from()

Array.of() Array.of() 메서드는 인자의 수나 유형에 관계없이 가변 인자를 갖는 새 Array 생성 const items = Array.of("a", "b", "c"); console.log(items); // (3) ["a", "b", "c"] Array.from() Array.from() 메서드는 유사 배열 객체(array-like object)나반복 가능한 객체(iterable object)를 이용해 새 Array 생성 const m = new Map([[1, 2], [2, 4], [4, 8]]); Array.from(m); // [[1, 2], [2, 4], [4, 8]] const mapper = new Map([['1', 'a'], ['2&#3..

ES6 2021.03.31

String 내장객체 활용

String 내장객체 활용 // String.includes() // includes() 메서드는 하나의 문자열이 다른 문자열에 포함되어 있는지를 판별하고, 결과를 true 또는 false 로 반환 const isEmail = email => email.includes("@"); console.log(isEmail("a@b")); //output : true /************************************************************************* */ // String.repeat() // repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환 const number = "123456"; const display = `${"*".r..

ES6 2021.03.23

array 와 arrow function 활용

array 와 arrow function 활용 const email = ["a@a.com", "b@b.com", "c@c.com"]; // array.find() // find() 메서드는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환 // 그런 요소가 없다면 undefined를 반환 // array.includes() // includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별 // true, false 반환 const findEmail = email.find((item) => item.includes("b.com")); console.log(findEmail); //output: b@b.com /**********************************************..

ES6 2021.03.23

11. generators 생성기

generators 생성기 최초로 호출될 때, 함수 내부의 어떠한 코드도 실행되지 않고, 대신 생성자라고 불리는 반복자 타입을 반환합니다. 생성자의 next 메소드를 호출하면 yield 키워드를 만날 때까지 실행후 일시 중지 다시 next 메소드가 호출되면 그다음부터 실행후 다음번 yield 키워드를 만날 때까지 실행후 일시 중지 문법 function* gen() { yield 1; yield 2; yield 3; } var g = gen(); // "Generator { }" .next() yield 표현을 통해 yield된 값을 반환 .return() 주어진 값을 반환하고 생성기를 종료 .throw() 생성기로 에러를 throw function* g1() { console.log('Hello&..

ES6 2020.07.15

10. async 와 await

async 와 await 출처 https://www.youtube.com/watch?v=aoQSOZfz3vQ [드림코딩 by 엘리] async, await은 promise를 좀더 간단하고 간편하게 동기적으로 실행 syntactic suger 기존에 이미 존재하는 api를 확장하여 동일한 기능을 좀더 간편하게 사용할수 있도록 만들어진 api를 의미함 예: class class는 전혀 새로운 것이 아닌 기존의 prototype을 base 로 한 살짝 덧붙여진 그럴싸한 syntactic suger 즉 async, await는 promise를 base 로 한 syntactic suger 1. async // 기존 promise 예제 function fetchUser() { return new Promise((r..

ES6 2020.07.15