전체 글
-
[ES6 정리] 12. 제너레이터공부(프로그래밍)/Javascript 2019. 9. 8. 16:54
제너레이터 : 이터레이터이자 이터러블을 생성하는 함수 function *gen() { yield "안녕하세요" yield 2 if (false) yield "what" yield 4 } let iter = gen(); console.log(iter[Symbol.iterator]()) console.log(iter.next()); for(const a of gen()) console.log(a) 함수를 만들때 앞에다가 * 을 붙임! 그리고 yield라는 것을 사용한다 제네레이터를 이용하면 어떠한 값도 순회할수 있게 해줄수 있다.
-
[ES6 정리] 11. 이터러블, 이터레이터공부(프로그래밍)/Javascript 2019. 9. 8. 16:41
이터러블 : 이터레이터를 리턴하는 [Symbol.interator]() 를 가진 값 이터레이터 : { value, done } 객체를 리턴하는 next() 를 가진 값 이터러블/이터레이터 프로토콜 : 이터러블을 for...of, 전개 연산자 등과 함께 동작하도록 한 규약 이터러블/이터레이터 프로토콜을 따르는? for of, rest, spread 등이 어떻게 동작하는지 이터러블 이터레이터를 통해서 알수가 있다 위와 같은 코드에서 for of 문을 돌렸을 때 결과값은 1 2 3이 출력이 된다. 그동안은 for문을 쓰니까 뭐 당연히 저렇게 나오겠거니 했지만 어떤 프로세스를 통해 저 결과값이 나오는지 이터러블/이터레이터 프로토콜을 통해 알수 있다 ES6에 추가된 Symbol은 어떤 객체의 key로 사용될수가 ..
-
[ES6 정리] 10. set공부(프로그래밍)/Javascript 2019. 9. 7. 17:01
Set Set Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다. developer.mozilla.org set은 unique한 value를 가질수 있게 해준다 const numbers = [1,2,3,4,5,5,5,5,6,6,7]; 이런식으로 배열을 생성하면 보통 1,2,3,4,5,5,5,6,6,7을 가진 배열이 출력된다. const numbers = new Set([1,2,3,4,5,5,5,6,7,7]); 위와 같이 set을 사용해서 생성을 하면 value가 unique하다는 set 특성때문에 중복값은 제거되고 각각 고유의 값 한개씩만 생성이 된다 set의 API 문서를 보면 has, add, delete, clear 등을 이용해서 다양하게 활용을 할수 있다
-
[ES6 정리] Rest, Spread, Destructure 활용공부(프로그래밍)/Javascript 2019. 9. 5. 17:30
1. user 객체에서 password를 제외한 항목만 출력하기 const user = { name: "parker", age: 30, password: 12345 }; const removePass = ({ password, ...rest }) => rest; const cleanUser = removePass(user); console.log(cleanUser); 2. user 객체에 country 변수를 추가하고 해당 변수에 default값 집어넣기 const user = { name: "parker", age: 30, password: 12345 }; const setCountry = ({ country = "KR", ...rest }) => ({ country, ...rest }); consol..
-
[ES6 정리] 9. Rest & Spread공부(프로그래밍)/Javascript 2019. 9. 5. 17:15
Spread spread는 변수를 가져와서 풀어헤치는 기능?이라고 보면 될 것 같다. 이건 코드를 보면서 이해하는 게 제일 좋음! const numbers = [1, 2, 3, 4]; const words = ["a", "b", "c", "d"]; console.log([numbers, words]); console.log([...numbers, ...words]); 위의 numbers 와 words 배열을 하나의 배열로 만들고 싶어 [numbers, words]라고 콘솔에 출력을 했다. 하지만 그들은 한 묶음이 아닌 각각의 배열로 나타난다. 이때, spread를 이용해서 각 변수의 앞에 ... 을 붙여주면 하나의 배열로 된다. spread가 배열에 뭉쳐있던 데이터를 다 풀어서 각각의 데이터로 만들어주기..