본문 바로가기

자바스크립트 날짜 Date 객체 사용시 IE 유의하기 (NaN으로 출력됨) 날짜를 선택하는 캘린더 필드가 여러가지 있는 화면을 담당했다.시작일을 선택하면 다른 캘린더 필드에 조건과 값을 동적으로 업데이트하는 과정에 버그가 있었다. 유저가 선택한 날짜를 yyyy.mm.dd 포맷으로 저장해서 Date 객체로 만들었다. 1234function(selectedDate) { //yyyy.mm.dd var anotherDate = new Date(selectedDate) ...}Colored by Color Scriptercs 크롬에서는 anotherDate 값이 정상적으로 출력되는데 IE에서는 NaN.NaN.NaN으로 출력된다. Date 객체에 string을 넣을때에는 반드시 parse 함수를 함께 사용해야 한다.Date.parse(string) 1234function(selectedD.. 더보기
setState() 저장되지 않을때 드로이드나이츠에 참석했을때 react를 알게 되었는데 내가 직접 사용하게 될 줄이야. react를 공부하면서 백오피스 웹을 개발중이다. 선택목록 컴포넌트에서 값을 변경할 때마다 state에 저장하려고 한다.값이 변할때마다 componentWillReceiveProps()가 호출된다.아래 코드처럼 setState()를 하고나서 바로 console에서 state 값을 찍어봤더니 객체가 비어있다.왜 setState()가 안되지? 12345678910111213141516constructor(props) { super(props); this.state = { person: { name: '', sex: '' } }} componentWillReceiveProps(nextProps){ if(nextProps.pe.. 더보기
자바스크립트 연관배열로 특수문자 및 기호가 포함된 property의 이름을 string으로 참조할 수 있다. DB 테이블에 저장된 행 갯수를 구해야 해서 count 쿼리문을 실행했다.1select count(*) from postscs 결과값으로 넘어오는 데이터는 이렇게 생겼다.1[ RowDataPacket { 'count(*)': 5 } ]cs rowDataPacket에 들어있는 count(*) 속성의 값이 필요하다. 하지만 특수문자 및 기호가 포함된 속성이라 undefined가 뜬다.1console.log(result[0].count(*));cs 이럴 때! 자바스크립트의 연관배열을 사용하면 해결할 수 있다.자바스크립트가 인식할 수 없는 속성 이름을 대괄호[ ]로 감싸면 string으로 읽어온다.1console.log(result[0].[count(*)]);cs 더보기