코드/JS 45

[rxjs] SwitchMap

다수 스트림 : from([1, 2, 3, 4]) 혹은 interval(300) 등 각각의 값을 발행하는 개별 스트림들을 통칭. switchMap operator 는 observable 컬렉션에서 다수 스트림 발행시( interable ) 발행 완료되지 않은 이전 observable 이 존재한다면 이전 observable 을 구독해제하고 project 함수에서 반환하는 observable 을 새롭게 구독한다. mergeMap operator 와 비교하자면, 다수 스트림 발행시 mergeMap 은 구독 완료되지 않은 이전 observable의 존재와는 무관하게 project 함수에서 반환되는 observable 을 모두 새롭게 구독한다. private testSwitchMap() { interval(600..

코드/JS 2020.05.08

[JS]Object.key(obj)

Ojbect.keys() 출처 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys Syntax Object.keys(obj) Object.keys 함수는 매개변수로 받은 Object 의 속성인덱스를 요소로 하는 배열을 반환한다. 실제 for ... in 반복문에서 prop 속성을 구하는 것과 같다. 차이점이라면 for ... in 루프는 프로토타입 체인까지 검색한다는데 있다. 어엣건 얘도 ecma5 스펙이라 익스 9이하는 지원하지 않는다. 하지만 babel 이 있지 않는가.. 맘껏 쓰자. 예시 var arr = ['a', 'b', 'c']; console.log(Object.keys(ar..

코드/JS 2016.06.09

[js]Mustache template

Mustache 템플릿으로 반복문을 사용할때 그냥 배열 객체를 던져주고 싶은 경우가 있다 보통은 다음과 같다 /* Js */ var tpl = $('#tpl_item').html(); var obj = { items:['item-1','item-2','item-3'] } var html = Mustache.render(tpl, obj) 이렇게 할수 있지만 다른 데이터 없이 단순히 배열하나만 던질경우에는 /* Js */ var tpl = $('#tpl_item').html(); var obj = ['item-1','item-2','item-3'] var html = Mustache.render(tpl, obj); 이럼 된다. 간단하다

코드/JS 2016.02.27

[JS] 익스플로러 버전 알기

개인적으로 마이크로 소프트는 브라우저를 안 만들었으면 좋겠지만, 정말 꾸준히도 만들고 있다. 정말 매 버전마다 이렇게 못 만들기도 어려울거같다 됐고 스크립트로 익스플로러의 버전 넘버를 알기 위한 스크립트다 function msieversion() { var ua = window.navigator.userAgent var msie = ua.indexOf ( "MSIE " ) if ( msie > 0 ) // If Internet Explorer, return version number return parseInt (ua.substring (msie+5, ua.indexOf (".", msie ))) else // If another browser, return 0 return 0; } 출처 : https:..

코드/JS 2015.09.12

[JS] indexOf

자바스크립트 함수중에 자주 쓰는 함수 indexOf 성능은 별로라고 알고 있다, 더글라스크록포드 책이었던가 어디에서 언뜻 본기억이..가물 String.indexOf(searchValue[, fromIndex]); searchValue 는 뭐 알겠지만, 검색할 문자열 일치하는 문자열이 있으면 해당 문자열의 인덱스 값을 반환한다. 일치하는게 없으면 -1 을 반환한다 옵션으로 들어가는 fromIndex 는 정수값을 줄 수 있다 정수값을 줄 경우 그 값에 해당하는 인덱스 이후 부터 searchValue 를 검색한다 var str = 'abcdefghijklmn'; var a = str.indexOf('c',0); // 2 var b = str.indexOf('c',1); // 2 var c = str.index..

코드/JS 2015.09.12

[정규표현식] \b, \B 의 정확한 이해

출처 : http://ohgyun.com/392 \d 나 \w, \s 등과 같은 메타 문자들이 '특정 텍스트의 집합'을 매칭시키는 것과 다르게,\b 는 단어의 `경계` 위치를 가리킨다. (b = boundary 를 의미한다) 여기서 '단어'는 \w 와 일치하며 [a-zA-Z0-9_]와 동일하다.즉, 단어와 단어가 아닌 문자와의 사이를 가리키는 것이다. 위치를 가리키는 것이기 때문에, 패턴이 일치하더라도 매치되는 길이는 0이다.이런 이유 때문에 좀 헷갈리는데, 문장에서 각 단어의 경계를 표시해보면 쉽게 이해할 수 있다. Raindrops on roses, and whiskers on kittens. 위 문장에서 단어의 경계, 즉 메타 문자 \b 는 아래와 같이 | 를 표시한 위치를 가리킨다. |Raindr..

코드/JS 2015.07.29