คีย์เวิร์ดที่แสดงผล

ใช้ return เพื่อระบุค่าที่ฟังก์ชันควรสร้างเป็นค่าสุดท้าย ผลลัพธ์ เมื่อล่ามเข้าถึงคำสั่ง return ฟังก์ชันที่ จะมีคำสั่งนั้นสิ้นสุดทันที และค่าที่ระบุจะถูกส่งคืนไปยัง บริบทที่มีการเรียกใช้ฟังก์ชัน

const myFunction = function() {
   
return 2 + 2;
}

myFunction
();
> 4

ฟังก์ชันที่แสดงผลค่านั้นสามารถถือได้อย่างมีประสิทธิภาพว่าเป็นข้อมูลที่ฟังก์ชันนั้น มี ซึ่งคล้ายกับตัวแปรดังนี้

const myFunction = function() {
   
return 2 + 2;
}

myFunction
() + myFunction();
> 8

คำสั่ง return ที่ไม่มีนิพจน์จะทำให้ฟังก์ชันนั้นสิ้นสุดลงและส่งกลับ undefined:

const myFunction = function() {
   
return;
}

myFunction
();
> undefined

เนื่องจากคีย์เวิร์ด return ส่งสัญญาณถึงจุดสิ้นสุดของฟังก์ชัน โค้ดใดๆ ที่ ติดตาม return ที่พบจะไม่ดำเนินการ:

const myFunction = function() {
   
return true;
   console
.log( "This is a string." );
}

myFunction
();
> true

นอกจากนี้ โค้ดที่อยู่หลังคำสั่ง return ที่พบอาจทำให้เกิด คำเตือน (แต่ไม่ใช่ข้อผิดพลาด) ในบางเบราว์เซอร์ คอนโซลการพัฒนา:

const myFunction = function() {
   
return true;
   console
.log( "This is a string." );
}
> unreachable code after return statement

myFunction
();
> true

เช่นเดียวกัน การตั้งค่านี้มีผลกับคำสั่ง return ที่พบระหว่าง จะดำเนินการกับฟังก์ชัน ไม่ใช่โค้ดที่อยู่หลังคำสั่ง return ตามลำดับ

const myFunction = function( myParameter ) {
   
if( myParameter === undefined ) {
   
return "This is the result.";
   
}
   
return "This is the alternate result.";
}

myFunction
();
> "This is the result."

myFunction
( true );
> "This is the alternate result."

"ไฟฟ้าลัดวงจร" ฟังก์ชันที่ใช้ return ในช่วงต้นจะช่วยให้สั้นกระชับมากขึ้น มากกว่าคำสั่ง return เดี่ยวๆ ที่ส่วนท้ายของฟังก์ชัน ตัวอย่างเช่น พารามิเตอร์ ฟังก์ชันต่อไปนี้จะกำหนดว่าค่าที่ส่งผ่านเป็นสตริงที่มี อักขระขึ้นไป หากค่าที่ส่งให้ไม่ใช่สัญพจน์สตริง รหัสที่ นับจำนวนอักขระที่ไม่จำเป็น และฟังก์ชันสามารถแสดงผล false ผลลัพธ์ทันที:

function myFunction( myString ) {
   
if( typeof myString !== "string" ) {
   
return false;
   
}
   
if( myString.length >= 5 ) {
   
return true;
   
} else {
   
return false;
   
}
}

myFunction
( 100 );
> false

myFunction
( "St" );
> false

myFunction
( "String." );
> true

นิพจน์ฟังก์ชันลูกศร ไม่ซ้ำกันตรงที่คีย์เวิร์ด return บอกเป็นนัยเมื่อเนื้อหาฟังก์ชันลูกศร มีนิพจน์เดียวและไม่มีไวยากรณ์บล็อก:

const myFunction = () => 2 + 2;

myFunction
();
> 4

หากคุณใช้ไวยากรณ์บล็อกเพื่อกำหนดเนื้อหาของฟังก์ชันลูกศร ก็จะเป็น return ที่อาจไม่เหมาะสม แม้ว่าเนื้อหาของฟังก์ชันจะมีเพียงนิพจน์เดียวก็ตาม

const myFunction = () => { 2 + 2 };

myFunction
();
> undefined
const myFunction = () => { return 2 + 2 };

myFunction
();
> 4

ตรวจสอบความเข้าใจ

return ใช้ทำอะไร

แสดงโค้ดที่จุดเริ่มต้นของฟังก์ชัน
การระบุผลลัพธ์สุดท้ายของฟังก์ชัน