2017-12-21 27 views
5

동료 코드의 ES6 라인 ...Javascript에서 'foo :'bar'` 구문 오류가 발생하지 않는 이유는 무엇입니까? 당신은 아마 그 객체 <code>{uuid: contentUuid }</code>를 반환하도록하지만, 그 화살표의 기능을하기 때문에, 중괄호 <code>{</code> 실제로 시작 추측 수 있듯이 내

return map(orderedContentUuids, contentUuid => { uuid: contentUuid });

을 썼다 새로운 블록. 올바른 코드는 return map(orderedContentUuids, contentUuid => ({ uuid: contentUuid }));입니다.

그러나 예기치 않게이 코드는 오류없이 실행되고 실행됩니다. uuid: contentUuidcontentUuid으로 평가되므로 오류가 없습니다.

JavaScript 콘솔 foo: 'bar'에 넣으면 "bar"으로 평가됩니다.

허? 무슨 일이야. 언제부터 JS가 유효합니까?

답변