Javascript (ES6)
-
Javascript ES6 Tagged Template literalsJavascript (ES6) 2020. 8. 3. 21:38
// Template 처리 const data = [ { name : 'Coffe-Bean', order : true, items : ['americano', 'milk', 'green-tea'] }, { name : 'Starbucks', order : false }, { name : 'TwoSome', order : true, items : ['Ice-americano', 'Cake', 'Moka'] } ] // JSON 응답 받고, javascript object로 변환 후 데이터 처리 // dom에 추가 function fn(tags, name, items){ console.log(tags); //0: " Welcome " 1: " !! ↵주문가능항목" 2: "" console.log(name);..
-
Javascript ES6 Map,WeakMap key/value 구조Javascript (ES6) 2020. 7. 30. 22:18
// Map & WeakMap //map은 key/value 구조 let wm = new WeakMap(); let myfun = function(){}; // 이 함수가 얼마나 실행됐는지 알려고 할때. wm.set(myfun,0); //key, value console.log(wm); //WeakMap {ƒ => 0} let count = 0; for (let i=0; i 10} myfun = null; console.log(wm.get(myfun)); //undefined (가비지 컬렉션으로 이동) //WeakMap 활용 (클래스 인스턴스 변수 보호(private)) const wm1 = new WeakMap(); function Area(height, width){ wm1.set(this, {hei..
-
Javascript ES6 Set,WeakSet 유니크한 배열 만들기Javascript (ES6) 2020. 7. 29. 21:46
// Set : 중복없이 유일한 값을 저장할려고 할 때 사용(이미 존재하는지 확인할 때 사용) let mySet = new Set(); //Set 생성 let obj0 = {'name': 'Jacob', 'age':30}; mySet.add(obj0); mySet.add('Taxi'); mySet.add('Bus'); mySet.add('Car'); mySet.add('Taxi'); // Taxi는 이미 있기 때문에 추가되지 않는다 mySet.forEach(function(value){ console.log(value); }); console.log(mySet); // {"Taxi", "Bus", "Car"} console.log(mySet.has("Taxi")); // true mySet.delete(..
-
Javascript ES6 Destructuring 디스트럭처링 (분해하기)Javascript (ES6) 2020. 7. 25. 00:30
//Destructuring let data = ['mac','apple','ms','samsung']; let [myCom, ,yourCom] = data; console.log(myCom, yourCom);//mac ms //Destructuring Object let obj = { name : 'Jacob', address : 'S.Korea', age : 32 }; let {name,age} = obj; console.log(name,age);//Jacob 32 let {name:myName, age:myAge} = obj; console.log(myName,myAge);//Jacob 32 //Destructuring JSON Parsing var news = [ { "title" : "SBS",..
-
Javascript ES6 From 메소드 (배열로 만들어주기)Javascript (ES6) 2020. 7. 25. 00:26
// 배열 Array의 from method. 배열로 만들어줌 function addMarkMap() { //arguments는 배열처럼 보이지만 배열x //arguments로 부터 배열을 만든다 let newArray = Array.from(arguments); let newData = newArray.map(function(value){ return value + "!"; }); console.log(newData); // ["1!", "2!", "3!", "4!", "5!"] }; addMarkMap(1,2,3,4,5); arguments는 배열이 아니기 때문에 map 함수 사용 시, 에러가 발생함 ---> from 메소드 이용하여 배열로 만들어주고 map 함수 사용함
-
Javascript ES6 Array spread operator 배열 펼치기Javascript (ES6) 2020. 7. 25. 00:23
//spread operator [...val] 배열을 펼쳐서 전달할 때 편함 let pre = ["apple", "orange", 100]; let preCopy = ["apple", "orange", 100]; let newData = [...pre]; console.log(pre, newData); //같은 값 console.log(pre === newData); //false console.log(pre === preCopy); //false let ppp = [100,200,"hello",null]; let newPPP = [0,1,2,3,4, ...ppp, 4]; console.log(ppp, newPPP);// [0, 1, 2, 3, 4, 100, 200, "hello", null, 4] f..
-
Javascript ES6 For in과 For of (반복문)Javascript (ES6) 2020. 7. 25. 00:13
var data1 = ['1', NaN, 'test', 01]; for (let idx in data1) { console.log(data1[idx]); } // 1, NaN, test, 1 for (let value of data1) { console.log(value); } // 1, NaN, test, 1 for in 반복문은 data1 변수를 iterate(반복하다)하면서 index를 출력 ---> console.log(data1[index]); => basic For도 같음 for(var i=0; i console.log(value); => forEach도 같음 array.forEach(function(value){ });
-
Javascript ES6 Array 배열 concat()Javascript (ES6) 2020. 7. 25. 00:00
const arr1 = ["Jacob", "Amy", "Tom"]; const arr2 = arr1.concat("Dan"); //또는 [].concat(arr1, "Dan"); console.log(arr1, arr2); //["Jacob", "Amy", "Tom"], ["Jacob", "Amy", "Tom", "Dan"] console.log(arr1 === arr2); //false arr1은 'Jacob', 'Amy', 'Tom' 3개의 값(배열)을 가지고 있는 변수 concat 함수를 이용하여 arr1 배열에 'Dan'이라는 값을 추가하고 arr2 변수에 할당 - arr1.concat('Dan'); 또는 [].concat(arr1, 'Dan'); arr1을 복제하여 값을 추가하고 arr2에 할당..