화살표 함수가 정의되지 않은 값을 반환할 수 있는 이유: 명시적 반환과 암시적 반환의 수수께끼
화살표 함수는 JavaScript에서 함수를 정의하기 위한 간결한 구문을 제공합니다. . 그러나 괄호({})로 묶인 함수 본문을 처리할 때 초보자는 종종 특이한 문제에 직면합니다. 왜 이러한 화살표 함수가 정의되지 않은 값을 반환합니까?
다음의 간단한 예를 고려하십시오.
const f = arg => { arg.toUpperCase(); }; console.log(f("testing")); // undefined
이 화살표 함수는 인수를 대문자로 변환하기 위한 것이지만 정의되지 않은 값을 반환합니다. 그 이유는 화살표 함수 본문 주위의 선택적 중괄호에 있습니다.
본문 표현식이 암시적으로 반환되는 간결한 본문(중괄호 없음)이 있는 화살표 함수와 달리 함수 본문 구문이 있는 화살표 함수에는 명시적인 반환문. 원래 예에서는 명시적 반환이 없으면 대문자 인수 대신 undefound가 반환됩니다.
이를 수정하려면 명시적 반환을 사용할 수 있습니다.
const f = arg => { return arg.toUpperCase(); }; // Explicit return ^^^^^^
또는 간결한 본문 사용:
const f = arg => arg.toUpperCase();
명시적 반환 및 간결함을 사용한 예 body:
const f1 = arg => { return arg.toUpperCase(); }; console.log(f1("testing")); const f2 = arg => arg.toUpperCase(); console.log(f2("testing"));
이러한 규칙을 준수하면 명시적 반환이든 암시적 반환이든 상관없이 화살표 함수가 항상 의도한 값을 반환하도록 보장할 수 있습니다.
위 내용은 JavaScript에서 일부 화살표 함수가 '정의되지 않음'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!