คำสั่ง return ใน JavaScript ใช้เพื่อ ส่งค่ากลับจากฟังก์ชัน และ หยุดการทำงานของฟังก์ชันทันที เป็นคำสั่งสุดท้ายที่ควรอยู่ในฟังก์ชัน
ตัวอย่าง
<html>
<head>
<script>
function concatenate(first, last) {
var full = first + last;
return full; // ส่งค่ากลับและจบฟังก์ชัน
}
function DisplayFunction() {
var result = concatenate('John', ' Wright');
document.write(result);
}
</script>
</head>
<body>
<p>คลิกปุ่มด้านล่างเพื่อเรียกใช้ฟังก์ชัน</p>
<form>
<input type="button" onclick="DisplayFunction()" value="Call Function">
</form>
</body>
</html>
รายละเอียดสำคัญ
- ไม่มี return: ฟังก์ชันจะคืนค่า
undefinedอัตโนมัติ - return โดยไม่มีค่า:
return;คืนundefined(ใช้หยุดฟังก์ชันก่อนเวลา) - return หลายจุด: สามารถมี return หลายจุดในฟังก์ชันได้ (เช่น ในเงื่อนไข if/else)
- return object literal: ต้องขึ้นบรรทัดใหม่หลัง return หรือห่อด้วยวงเล็บ
return ({ a: 1 })ไม่งั้นจะถูกตีความว่าreturn; { a: 1 }
ตัวอย่าง return แบบต่างๆ
// คืนค่าปกติ
function add(a, b) { return a + b; }
// คืนค่ามากกว่า 1 ค่า (ผ่านออบเจ็กต์/อาร์เรย์)
function getStats(arr) {
return {
min: Math.min(...arr),
max: Math.max(...arr),
sum: arr.reduce((a, b) => a + b, 0)
};
}
// Guard clause - return ไว้เพื่อลด nested if
function process(user) {
if (!user) return null;
if (!user.active) return "inactive";
return user.data;
}
Best Practice: ใช้ Guard Clauses (return ไว้ตอนต้น) เพื่อลดการ indentation และทำให้โค้ดอ่านง่าย