0Pricing
Dart Academy · บทเรียน

ตัวดำเนินการ Cascade (..)

เชื่อมการเรียกใช้หลายครั้งบนออบเจ็กต์เดียว

ตัวดำเนินการ Cascade (..) เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาการเขียนซ้ำ

เมื่อกำหนดค่าออบเจ็กต์หนึ่ง คุณมักต้องเขียนชื่อออบเจ็กต์นั้นซ้ำในทุกบรรทัด cascade ของ Dart ช่วยให้คุณละการเขียนซ้ำและมุ่งเน้นที่งานได้

ทำความรู้จักจุดคู่

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

var b = StringBuffer()
  ..write('Hi')
  ..write('!');

คืนค่าออบเจ็กต์

นี่คือจุดสำคัญ: cascade จะคืนค่าออบเจ็กต์เดิมเสมอ ไม่ใช่ผลลัพธ์ของเมธอด ดังนั้นคุณจึงต่อสายคำสั่งไปได้เรื่อย ๆ

ตั้งค่าฟิลด์ด้วย cascade

คุณสามารถ กำหนดค่าฟิลด์ ผ่าน cascade ได้ด้วย ไม่ใช่เพียงเรียกใช้เมธอด แต่ละบรรทัดจะกำหนดค่าเพิ่มเติมให้กับออบเจ็กต์ใหม่เดียวกัน

var p = Paint()
  ..color = blue
  ..width = 4;

ก่อนใช้ cascade

หากไม่ใช้ cascade คุณจะกำหนดออบเจ็กต์ให้กับตัวแปร แล้วต้องอ้างถึง ตัวแปร นั้นในทุกบรรทัด วิธีนี้ใช้ได้ แต่มีข้อความซ้ำมากเกินไป

var b = StringBuffer();
b.write('a');
b.write('b');

หลังใช้ cascade

เมื่อใช้ cascade การตั้งค่าแบบเดิมจะกลายเป็น นิพจน์ เดียวที่เป็นระเบียบ ออบเจ็กต์จะถูกระบุชื่อเพียงครั้งเดียว แล้วทุกขั้นตอนจะต่อออกจากออบเจ็กต์นั้น ✨

var b = StringBuffer()
  ..write('a')
  ..write('b');

cascade เป็นนิพจน์

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

ผสมการเรียกใช้กับการกำหนดค่า

คุณสามารถ ผสมการเรียกใช้เมธอดกับการกำหนดค่าฟิลด์ไว้ใน cascade เดียวกันได้อย่างอิสระ Dart จะใช้แต่ละบรรทัดกับออบเจ็กต์เดียวกันจากบนลงล่าง

var list = []
  ..add(1)
  ..length;

ระวังอัฒภาค

สาย cascade ยังคงเป็นคำสั่งเดียว ดังนั้น อัฒภาคจึงอยู่ที่ท้ายสุดเท่านั้น การใส่อัฒภาคระหว่างสายจะทำให้สายถูกแบ่งเป็นสองส่วน

จุดเด่นของ cascade

cascade เหมาะอย่างยิ่งกับ ตัวสร้างและออบเจ็กต์การกำหนดค่า เช่น StringBuffer หรือวิดเจ็ต Flutter ที่ต้องปรับค่าอย่างรวดเร็วหลายรายการ

cascade เทียบกับสายเมธอด

สายเมธอดทั่วไปต้องให้แต่ละเมธอดคืนค่าออบเจ็กต์ที่ถูกต้อง ส่วน cascadeไม่สนใจว่าเมธอดเหล่านั้นคืนค่าอะไร เพราะจะส่งคืนออบเจ็กต์เดิมเสมอ

ตรวจสอบอย่างรวดเร็ว

ตัวดำเนินการ cascade คืนค่าอะไร

สรุปทบทวน

cascade (..) ใช้กำหนดค่าให้ออบเจ็กต์เดียวกันในหลายบรรทัด คืนค่าออบเจ็กต์นั้น และจบด้วยอัฒภาคเพียงตัวเดียว การตั้งค่าจึงเป็นระเบียบและเขียนซ้ำน้อยลง 🎯

คำถามที่พบบ่อย

บทเรียน “ตัวดำเนินการ Cascade (..)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวดำเนินการ Cascade (..)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวดำเนินการ Cascade (..)”

เชื่อมการเรียกใช้หลายครั้งบนออบเจ็กต์เดียว คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวดำเนินการ Cascade (..)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม

ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวดำเนินการ Cascade (..)
  2. Cascade ที่หยุดเมื่อพบ null (?..)
  3. การกระจายและการกระจายที่รู้จัก null
  4. if และ for ในคอลเลกชัน
← กลับไปที่ Dart Academy