애로우 함수의 반환 값 이해: 명시적 vs. 암시적의 딜레마
ES6에 도입된 화살표 함수는 다음과 같은 인기를 얻었습니다. 간결한 구문과 유연성. 그러나 초보 프로그래머를 괴롭히는 일반적인 함정은 반환 값을 처리할 때 발생합니다.
다음 화살표 함수를 고려하세요.
const f = arg => { arg.toUpperCase(); };
이 함수를 호출하면 예기치 않게 정의되지 않은 값이 반환됩니다. 왜 이런 일이 발생합니까?
간결한 화살표 함수의 암시적 반환
화살표 함수는 두 가지 고유한 구문 변형을 제공합니다. 중괄호가 없는 간결한 형식과 중괄호가 있는 좀 더 자세한 형식입니다. 중괄호. 간결한 형식은 본문 표현식의 결과를 암시적으로 반환하므로 명시적인 return 문이 필요하지 않습니다. 따라서 arg => arg.toUpperCase(); 자동으로 대문자 인수를 반환합니다.
중괄호 화살표 함수의 명시적 반환
반면에 중괄호가 있는 화살표 함수는 전통적인 함수 본문을 사용합니다. 이 시나리오에서는 암시적 반환이 없습니다. 이러한 화살표 함수에서 값을 얻으려면 명시적인 return 문을 사용해야 합니다. 이전 예 수정:
const f = arg => { return arg.toUpperCase(); };
이제 함수는 대문자로 표시된 인수를 올바르게 반환합니다. 또는 중괄호를 생략하여 더 간결한 형식을 사용할 수 있습니다.
const f = arg => arg.toUpperCase();
이 경우 화살표 함수는 대문자로 표시된 인수인 표현식의 결과를 암시적으로 반환합니다.
화살표 함수의 암시적 반환과 명시적 반환의 차이점을 이해하면 반환 값을 처리할 때 발생하는 함정을 피할 수 있습니다.
위 내용은 일부 화살표 함수는 '정의되지 않음'을 반환하는 반면 다른 화살표 함수는 반환하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!