Thep Excel

hasField – ตรวจสอบว่าอ็อบเจ็กต์มี field หรือไม่

hasField() คือ method ที่ใช้ตรวจสอบว่าอ็อบเจ็กต์มี field หรือ key ที่ระบุหรือไม่ คืนค่า true ถ้ามี field นั้น false ถ้าไม่มี มีประโยชน์สำหรับป้องกัน error เวลาเข้าถึง field ที่อาจจะไม่มีอยู่

=$json.hasField('fieldName')

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
8/10

Difficulty
2/10

Usefulness
8/10

Syntax & Arguments

=$json.hasField('fieldName')

Argument Type Required Default Description
fieldName String Yes ชื่อ field หรือ key ที่ต้องการตรวจสอบว่ามีอยู่ใน object หรือไม่

How it works

Scenario 1

General usage

Examples

ตรวจสอบว่า object มี field หรือไม่ (พื้นฐาน)
{{ $json.hasField('email') }}
สมมติ $json = {name: 'John', email: 'john@example.com', age: 30} ผลลัพธ์จะเป็น true เพราะมี field 'email' อยู่
n8n Formula:

={{ $json.hasField('email') }}

Result:

true or false

ใช้กับ IF node เพื่อจัดการข้อมูลที่ไม่สมบูรณ์
{{ $json.hasField('phone_number') }}
ใช้ในการตัดสินใจว่าจะประมวลผล phone_number ต่อหรือไม่ ถ้า false ก็ข้ามไปกิจกรรมอื่นแทน
n8n Formula:

={{ $json.hasField('phone_number') }}

Result:

true or false

ตรวจสอบหลาย field ด้วย AND/OR logic
{{ $json.hasField('firstName') && $json.hasField('lastName') }}
ตรวจสอบว่าอ็อบเจ็กต์มีทั้ง firstName และ lastName หรือไม่ เหมาะสำหรับ validation ก่อนส่งข้อมูลไป email template
n8n Formula:

={{ $json.hasField('firstName') && $json.hasField('lastName') }}

Result:

true or false

ใช้ในการ Set field แบบมีเงื่อนไข
{{ $json.hasField('customField') ? $json.customField : 'No custom field' }}
ถ้า $json มี customField ให้ใช้ค่านั้น ถ้าไม่มีให้ใช้ค่า default 'No custom field' แบบนี้ช่วยหลีกเลี่ยง undefined error
n8n Formula:

={{ $json.hasField('customField') ? $json.customField : 'No custom field' }}

Result:

String

ตรวจสอบ nested field (ใน field อื่น)
{{ $json.user.hasField('email') }}
ตรวจสอบว่า $json.user (object ข้างใน) มี email field หรือไม่ ใช้ได้เมื่อข้อมูลมี nested structure
n8n Formula:

={{ $json.user.hasField('email') }}

Result:

true or false

FAQs

ต่างกันยังไง hasField กับการใช้ optional chaining (?.) ของ JavaScript

hasField() คืนค่า true/false อย่างชัดเจน ถ้าคุณต้องการตรวจสอบแล้ว branch logic อื่น ก็เหมาะสุด optional chaining ใช้ดีตอนที่คุณแค่อยากเข้าถึง field แบบปลอดภัยโดยไม่ error

hasField() จะตรวจสอบ undefined vs null ต่างกันหรือเหมือนกัน

hasField() ตรวจสอบการมีอยู่ของ key เท่านั้น แม้ว่าค่าจะเป็น null ก็จะคืนค่า true หากมี key นั้น ถ้าหากต้องการตรวจสอบว่าค่าเป็น null หรือไม่ ลองใช้ !== null แยกต่อไป

ใช้ hasField() ได้กับ array หรือไม่

hasField() ใช้กับ object (key-value pair) เท่านั้น ถ้าต้องการตรวจสอบว่า array มี element บ้าง ลองใช้ .length > 0 หรือ .includes() แทนครับ

ทำไมต้องใช้ hasField() แทนที่จะเข้าถึง field โดยตรง เช่น $json.email

ถ้าเข้าถึงโดยตรงแล้ว field ไม่มีอยู่ คุณจะได้ undefined ซึ่งอาจทำให้ workflow error ได้ hasField() ช่วยให้คุณเช็คก่อนตัดสินใจว่าจะทำอะไรต่อไป ป้องกัน error ได้ดีเลย

Resources & Related

Additional Notes

hasField() เป็น n8n object method ที่ช่วยตรวจสอบการมีอยู่ของ field ใน object ได้อย่างปลอดภัย แทนที่จะพยายามเข้าถึง field โดยตรงแล้วเสี่ยงจะได้ undefined

ที่เจ๋งคือมันทำให้คุณสามารถเขียน conditional logic ที่ปลอดภัยได้ โดยไม่ต้องกังวลว่า field ที่ต้องการจะหายไปหรือไม่ ยิ่งเวลาทำงานกับ API response หรือ JSON data จากหลายที่ก็ยิ่งจำเป็นเลย

ส่วนตัวผมใช้ hasField() บ่อยมากในการตัดสินใจว่าจะทำ transformation ต่อหรือไม่ สมมติว่าข้อมูลจาก API มี field ’email’ บ้างไม่มีบ้าง ก็ใช้ hasField(’email’) เพื่อไป branch ต่างกันไป 😎

Leave a Reply

Your email address will not be published. Required fields are marked *