ES6-for of 순회하기 >es6 에 새로 나온 배열을 순회하는 for of에 대하여 알아보자. //1.foreach var data = [1,2,undefined,NaN,null,""] //foreach로도 순회하여 값을 알 수 있음. data.forEach(function(value){ console.log(value); }) //2.for in //for in은 문제점이 자기자신이 갖고있지 않은 상위에 있는 추가된 값 까지도 표현하여 나타남 for(let idx in data){ console.log(data[idx]) } //로 찍어 주면 function(){}도 콘솔에 찍힘. ->잘못됨 ex) Array.prototype.getIndex =function(){}; 라고 추가해주면, for(l..
ES2015 string에 새로운 메서드들 //hello로 시작하는지를 어떻게 확인 할까? let str = "hello world ! ^^~~"; let matchstr = "hello"; let matchstr = "~~"; //1.시작하는 문자열 검사 console.log(str.startsWith(matchstr)); //2.끝나는 문자열 검사 console.log(str.endsWith(matchstr)); //3.문자열 포함여부 검사 console.log(str.includes("world")); ->모든 결과값: truehttp://takeuu.tistory.com/102 에 들어가보면, es6에 새로 추가된 배열관련 메서드들이나, 기존의 스트링,배열관련 메서드들을 확인할 수 있다.
let과 closurevar list = document.querySelectorAll("li"); for(var i=0;i 오류 console.log(homename); } home();배열 역시도 동일하다.const를 기본으로 사용하는것이 전략, 그런데 변경이 될 수 있는 변수는 let을 사용한다.var는 사용하지 않는다. immutable arrayfunction home(){ const list =["apple","orange","watermelon"]; list.push("banana"); console.log(list); } home();위와 같이 const를 써도 수정이 가능하다.const를 사용하더라도 배열과 오브젝트와 값을 변경하는 것은 가능하다.const는 불변을 의미하는것은 아..
ES6es6 === es2015개선된 javascript 문법이다.es6 browser compatibility의 훌륭한 지원. (호환성이 훌륭하다)es6를 기반으로한 javascript 생태계의 확산.https://kangax.github.io/compat-table/es6/ 지원되는 브라우저 확인 urlbabel을 통해 es5로 바꿀수 있다.letes6전에서는 function단위의 scope만 존재했었음. 함수단위이므로 아래는 지역변수값을 먼저 체크하고, 그다음은 전역변수를 체크한다. var name = "global var"; function home() { var homevar = "homevar"; for(var i=0;i
커링함수와 인자를 다루는 방법필요한 인자가 다채워지면 함수 실행 (중요한 개념)함수를 조합해 나가는 개념이다!! 함수형 프로그래밍의 대표적 예이다.function _curry(fn){ return function(a){ return function(b){ return fn(a,b); } } } //example var add= _curry(function(a,b){ return a+b; }) 1.console.log(add(5)(3)); 2.var add5=add(5); console.log(add5(3)); 1과2는 같은결과-심화아래와 같이 위의 curry함수를 바까야 add(1,2)와 같은 형태를 실행시킬수 있음. 기존 함수로 실행하면 함수리턴 function _curry(fn){ ..
다형성 map, filter등은 함수가 아니라, 객체의 메소드이다.메소드는 해당클래스의 인스턴스에서만 작동 (map,filter는 array 에서만 작동)jquery 객체 => array like 객체 , array가 아니라 map과 filter를 쓰지 못함.function _map(list,mapper){ var new_list=[]; for(var i=0;i객체지향적)응용형 함수,고차함수들은 두번째 보조함수 안에서 자유롭게 수정이 가능하므로, 데이터면에서 자유롭고, 다형성인면이 있음! (_map, _filter)
함수형 프로그래밍 function _filter(list,predi){ var new_list=[]; for(var i=0;i=30;}));응용형 프로그래밍, 적용형 프로그래밍filter함수 ->고차함수,응용함수고차함수란? -함수안에 함수 function _map(list,mapper){ var new_list=[]; for(var i=0;i=30;}); var ages = _map(over_30,function(user){ return user.age; })
요즘 개발이야기재미/실시간성 (라이브방송,실시간 댓글,협업,메신저) 독창성/완성도(애니메이션,무한스크롤)많아지는 동시성(비동기 I/O,많은사람들이 동시에 접속)빨라지는 반응성/고가용성 대용량/정확성/병렬성복잡도/MSA (많아지고 세밀해지는 도구들) -> 예전에는 하나의 프레임워크가 모든 일을 했다면,지금은 도구들이 분화되고 세밀화 됨고가용성이란? 죽지않는 서비스(OTP Supervisor)좋아지는 하드웨어 성능좋아지는 컴파일러좋아지는 분산/리액티브 환경동시성+병렬성 관련기술->함수형 프로그래밍 함수형프로그래밍 함수형 프로그래밍은 애플리케이션, 함수의 구성요소 더나아가 언어 자체를 함수처럼 여기도록 만들고, 이러한 함수 개념을 가장 우선순위에 놓는다.함수형 사고방식은 문제의 해결방법을 동사(함수)들로 구성..