일부 JS 과제를 해결하면서 화살표 함수를 사용할 때 예상대로 결과가 나타났습니다. 정상적인 함수를 사용하여 동일한 코드를 시도 할 때주의해야합니다. 누군가가 그 차이를 설명 할 수 있습니까? 아니면 오타가있을 수 있습니다 !!Arrow 함수 VS Array.map()의 일반 함수
function titleCase(str) {
str = str.split(' ').map(i => i[0].toUpperCase() + i.substr(1).toLowerCase()).join(' ')
return str;
}
console.log(titleCase("I'm a liTTle tea pot")); // I'm A Little Tea Pot
그리고 정상적인 기능 (반환 빈 문자열)과 제 2 용액 :
function titleCase2(str) {
str = str.split(' ').map(function(i, index){ i[0].toUpperCase() + i.substr(1).toLowerCase()}).join(' ')
return str;
}
console.log(titleCase2("I'm a liTTle tea pot")); // empty string
내가 스펙을 올바르게 기억한다면, 한 라인 화살표 함수는 그 라인이 무엇이든간에 반환합니다. 정규 함수는 기본적으로 그렇게하지 않습니다. – Jhecht
한 줄 화살표 함수는 암시 적으로 줄을 반환합니다 - 일반 함수는 명시 적으로'return'을 필요로합니다. – hackerrdave