javascript에서 천 단위마다 , 를 찍는 방법을 찾아보았다.숫자 길이로 replace하는 방법도 있고, 여러가지가 있지만 toLocaleString이 가장 편한 방법인 것 같다.본래 용도는 이것이 아니지만, paramter값이 비어있을 때 default동작이 이
typeof를 사용하면 결과가 둘다 "object"로 나온다.Array.isArray()를 사용하면1 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Array 순서 바꾸는 방법, 여러가지가 있지만 splice를 사용해본다.from 으로 부터 1개 삭제함, splice의 return 값은 array이다.let item = arr.splice(from, 1);item0를 to위치로 이동함, 아무것도 삭제하지 않으므로
js로 개발하면서 debugging하는 수단 중 가장 심플한것이 console.log이다. 좀 더 스타일리쉬하게 사용해보자.console.log는 상당히 자주쓰지만, 결과물에 영향을 주는것이 아니라서 대충 쓸때가 많다. 하지만 console을 효과적으로 사용할 수 있다
lodash library에 대해 정리함 _.memoize memoize는 function을 저장하고, 동일하게 function call하면, 같은 return 값을 반환한다. 따라서 function을 재 호출하지 않는다. example const calNum = (
async await를 parallel 방식으로 사용할 수 있다. 아래코드는 google-docs의 내용을 참고하였다. console에 돌려보면 동시에 실행된다. 하지만 이 방식은 추천하지 않는다. error-handle 어렵기 때문이다. stackover-flow
Posts 중 하나의 Post를 수정해야함, 리듀서에서 Array, Object 각 데이터 형태로 처리할 때 코드를 비교해봄 (코드길이, 간결함 등)Object로 데이터를 만드는게 코드양도 적고, 훨씬 간결하다.
데이터를 reducer에 저장할 때는, object의 형태로 저장하는 것이 좋고, JSX로 데이터를 뿌릴때는 map을 사용하기 위해서 Array형태로 변환해야 한다. mapKeys(array: Array<{}>, key: string): lodash의 functi
video Element로 검색하면, Attribute가 많이 나오지 않는다.예를 들면 video 시작시간을 적용하려면 currentTime이라는 attribute를 바꿔줘야하는데, 이것은 HTMLMediaElement를 검색해야 나온다.video와 audio Elem
Opening multiple tabs/windows with the same URL creates sessionStorage for each tab/window. - 참조 MDNwindow.open으로 같은 url을 열면, sessionStorage가 copy되어서
Firebase로 login을 시도하는데 Provisional headers are shown이 발생하였다.Provisional headers are shown으로 검색해보니, 2가지 정도로 정리되었다.Firebase에서 Authorized domains으로 local
javascript Event 시리즈error 이벤트는 try...catch에서 잡지 못한 error들을 잡을 수 있다. try...catch에서 catch에서 이미 잡힌 경우에는, error이벤트에 잡히지 않기 때문이다.preventDefault를 해주는 이유는, 기
Web API는 javascript를 async로 동작할 수 있게 해준다.Web API에 들어간 setTimeout은 시간이 경과되면 내부에 callback function을 실행시킨다. 예시에서는 console.log('2')가 Callback Queue에 들어가게
Regex 정리
computer은 0과 1밖에 모른다. 우리는 computer에게 js라는 것을 알려준다. js 엔진(ECMAScript engines은 여러가지가 있다. (우리에게 가장 친숙한 v8도 포함, node js도 v8엔진을 사용함) javascript engine j
code가 run할때 마다 Execution Context가 실행된다. (처음에는 global, call stack에 쌓임)Global Execution Context에서는 아래 3가지가 생성됨기본적으로 var과 function delcaration은 hoist 된다.
In most cases, the value of this is determined by how a function is called (runtime binding). It can't be set by assignment during execution, and it m
call은 argument를 , 로 연결해서 받는다.apply는 argument를 array형태로 받는다. (call과 apply는 기능적으로는 같다.)bind는 this를 store 하게 된다. (bind는 미래에 function을 call할 때 쓰이게 된다. 예를들
context : function이 어떻게 invoke되었느냐에 따라 결정됨, this는 context에 따라 결정됨scope : variable의 visiblility를 결정함, 즉 variable이 어디까지 보이는가 (접근 가능한가)
function은 js에서는 object일 뿐이다.call, apply, bind와 같은 property를 갖고 있다.HOF로 more generic 하게 function을 만들 수 있다!function을 argument로 받음function을 return함functi
Closure는 function을 return한다.call stack에서 함수가 제거되고 나면 heap memory에 남은 변수들이 저장된다. garbage collecting을 할때, 이 변수들은 closure로 보기때문에, 제거 되지 않는다. 따라서 closure로
상위에 있는 proto에 접근할 수 있도록 연결되어 있다.\_\_proto\_\_로 확인할 수 있다.big object가 하나이상의 method를 가져쓰기 위해서 prototype chain을 활용할 수 있다.
click event로 전화걸기를 할때를 쓰면된다.https://stackoverflow.com/questions/17219688/href-tel-and-mobile-numbers
귀찮다면 바로 결론으로 고고!mobile에서 input을 클릭하면 zoom-in이 됩니다.사용자가 텍스트를 편하게 보게하기 위한 기본설정이라고 합니다.이것을 끄기 위해서 preventDefault를 해보았습니다.결과는 여전히 zoom-in이 됩니다.조금 찾아보니, fo
class는 object를 생성하는 템플릿입니다. js에서는 prototype으로 object를 생성할 수 있으나, 다른 언어에서 사용하는 OOP개념들을 js에서도 좀 더 쉽게 사용할 수 있게 하기 위해서 class keyword를 사용하게 됩니다.get과 set은 특
The replace() method returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, an