มาเขียน Code แบบย่อด้วย Ternary Operator กันเถอะ

12-เม.ย.-19

คัมภีร์เทพ IT

บทความนี้เหมาะกับผู้ที่มีประสบการณ์ในการเขียน Code มาบ้างแล้ว เพราะจะกล่าวถึง Ternary Operator โดยอาจมีหลายคนที่เคยใช้งานมันมาบ้างแล้วหรือบางคนอาจยังไม่คุ้นชื่อมัน ดังนั้น เรามาดูการเขียน Code โดยใช้ Ternary Operator รวมทั้งประโยชน์ของมันกันก่อนอื่นเรามาดูกันว่า มีการใช้งาน Operators ประเภทใดบ้างใน Programming Language

  1. Arithmetic operators ( +, -, *, /, %, ++, —  )
  2. Comparison operators ( ==, ===, !=, !==, >, >=, <, <= )
  3. Logical operators ( &&, ||, ! )
  4. Assignment operators ( =, +=, -=, *=, /=, %= )
  5. Conditional/Ternary operator ( (condition) ? value/result1:value/result2 )

แต่ในบทความนี้ขอเน้นไปที่ Ternary Operator ซึ่งเราจะมาดูกันว่า เจ้า Ternary Operator มันเป็นอย่างไรกันแน่

Ternary Operator

เรามาเริ่มกันด้วย Syntax ก่อน โดยด้านล่างนี้ จะเป็น Syntax ของ Ternary Operator

ก่อนอื่นจะมีการตรวจสอบ Condition (เงื่อนไข) และถ้าผลมันมีค่า “True” (จริง), Result1 จะถูก Executed แต่ถ้าเป็น “False” (เท็จ), Result2 ก็จะถูก Executed ซึ่ง Ternary Operator นี้ สามารถใช้สำหรับ/ใน:

  • Condition Checking (ตรวจสอบเงื่อนไข)
  • Multiple Condition checking (ตรวจสอบหลายๆ เงื่อนไข)
  • Variable Assignment (นี่คือสิ่งที่มันถูกใช้เป็นหลัก)
  • Functions (ฟังก์ชั่น)

Condition Checking

ในบางครั้ง Ternary Operator ก็สามารถใช้แทน If-Else Statement ได้

เมื่อคุณใช้ Ternary Operator จะช่วยให้คุณลดสามารถลดจำนวนบรรทัดของ Code ลงได้ ถือเป็นการทำให้ Code ของคุณ Clean ยิ่งขึ้น

Multiple Condition Checking

นอกจากนี้เรายังสามารถใช้ Ternary Operator ซ้อน (Nested) ใน Ternary Operator อื่นได้อีก

โดยจากตัวอย่างด้านบน จะเห็นว่า เรามี Nested Condition ที่ Age > 20 อยู่ภายใน Condition ของ pin == 0000 ซึ่งหากเขียนเป็น Code โดยใช้ If-Else Statement ก็คือ

โปรดทราบว่า หากมีหลาย Expressions ภายในคำสั่ง If-Else มันจะเป็นการดีกว่า ที่จะไม่ใช้ Ternary Operator เพื่อทำให้ Code อ่านง่ายขึ้น

Variable assignment

นี่คือสิ่งที่ Ternary Operator ถูกกำหนดไว้แล้วว่าจะให้ทำตามค่าที่ Default มาให้ตาม Syntax ของมัน

จาก Code ด้านบน เราจะเห็นว่า variable name ถูก Assign ค่า ตามเงื่อนไขโดยใช้ Ternary Operation

Functions

Ternary Operator ยังสามารถใช้งานใน Function ได้ แต่โปรดทราบไว้ว่า มันเหมาะสมที่จะใช้ในกรณีที่มี Expression ไม่ซับซ้อน เหมือนดังตัวอย่างด้านล่าง

จาก Function ข้างต้น จะทำการ Return String ออกมาให้โดยใช้เกณฑ์ของอายุ ซึ่ง Code นี้ สามารถถูก Reduce ได้ด้วยการใช้ Ternary Operator ดังนี้

อย่างที่คุณได้เห็น เราได้ลดจำนวนบรรทัดของ Code ลงเป็นอย่างมากโดยใช้ Ternary Operator แทนที่จะใช้คำสั่ง If-Else

สิ่งที่คุณควรรู้

  • Ternary Operator ถือเป็นการใช้งานร่วมกันระหว่าง Operator และ Conditional
  • มันเป็นเหมือนแบบจำลองของ If-Else Conditional ดังนั้น Function ของมันจึงค่อนข้างคล้ายกับคำสั่ง If-Else แต่มันก็ไม่สามารถแทนที่คำสั่ง If-Else ได้อย่างสมบูรณ์และเสมอไป
  • สิ่งที่แตกต่างเป็นเรื่องเดียวคือ จำนวนบรรทัดของ Code ที่น้อยลงเมื่อเราใช้ Ternary Operator
  • Expression แรก ที่อยู่หลังจาก Condition จะเป็นค่า True เสมอ ในขณะที่อีก Expression จะเป็นค่า False ซึ่งคล้ายกับคำสั่ง If-Else

และนี่คือสิ่งที่สำคัญมาก! อย่าใช้ Ternary Operator สำหรับ Expressions หรือ Logic ที่มีความซับซ้อนมาก แต่ให้ใช้คำสั่ง If-Else แบบง่ายๆ แทน เพราะมันจะง่ายต่อการอ่านเพื่อทำความเข้าใจ และการ Maintain ในภายหลัง

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

ที่มา:  https://blog.bitsrc.io/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด