2017-11-01 15 views
0

내가 코드Firefox 브라우저에서 es6 템플릿 리터럴을 지원하지 않습니까?

let m = "5", d = "5", y = "2015"; new Date(`${d}-${m}-${y}`); 

파이어 폭스 개발자 에디션 V (56) 반환 잘못된 날짜 크롬 V (61) 반환 유효하고 적절한 날짜 반면 아래에 실행할 때.

화 2015년 5월 5일 0시 0 분 0 초 GMT + 0530 (IST)

는 FF DE (56) 브라우저에서 지원되지 ES6 템플릿 문자 않거나 일부 정의는 날짜 브라우저에서이 달라질 수있다 체재?

도움을 요청할 수있는 링크가 있으면 알려주세요.

+0

http://caniuse.com/#feat=template-literals는 지원해야 함을 보여줍니다. 콘솔 출력에 오류가 있습니까? 이 문자열을 콘솔에 출력하면 어떻게됩니까? – Thebluefish

+0

'새 날짜 (\ {$ {y} - $ {m} - $ {d} \')'를 시도하십시오. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/을 참조하십시오. Global_Objects/Date –

+0

특정 날짜 형식 만 표준의 일부이며 따라서 브라우저 간, 그리고 그 중 하나가 아닙니다. – loganfsmyth

답변

1

이것은 템플릿 리터럴이 원인이 아니며 비표준 날짜 형식으로 인해 발생합니다. 파이어 폭스 개발자 에디션 56 스크래치 패드 창에서

: 여기

(new Date(`${d}-${m}-${y}`)).toString() 

/* 
Invalid Date 
*/ 

(new Date(`${y}-${m}-${d}`)).toString() 

/* 
Mon May 04 2015 17:00:00 GMT-0700 (Pacific Standard Time) 
*/ 

, 형식 DD-MM-YYYY를 사용하여이 무효입니다. 그러나 YYYY-MM-DD의 standard format을 사용하면 올바른 날짜가 생성됩니다.

Chrome은 표준 외의 추가 형식을 허용 할 수 있습니다. 비표준 형식은 모든 주요 브라우저에서 지원되지 않을 수 있으므로 사용하지 않는 것이 좋습니다.