ฉันใช้ jQuery 1.7.1
ฉันเพิ่งเริ่มใช้ตัวดำเนินการ ternary JavaScript เพื่อแทนที่คำสั่ง if / else อย่างง่าย ฉันประสบความสำเร็จในหลาย ๆ ที่ ฉันรู้สึกประหลาดใจเมื่อฉันทำอย่างอื่นได้สำเร็จเมื่อฉันคิดว่ามันจะไม่สำเร็จ แต่ฉันก็พยายามต่อไป
นี่คือข้อความดั้งเดิม:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
นี่คือฟังก์ชันเดียวกันโดยใช้ตัวดำเนินการ ternary:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
ฉันรู้สึกประหลาดใจเพราะตัวอย่างทั้งหมดที่ฉันเห็นว่าใช้เป็นเพียงการตั้งค่าตัวแปรเช่นนี้:
x = (1 < 2) ? true : false;
คำถามของฉันคือการใช้งาน "ปกติ" หรือไม่และจะใช้ได้กับ JavaScript เกือบทุกเวอร์ชันหรือไม่ จะล้มเหลวไปถึงไหน มีการใช้งานอื่น ๆ ที่ชัดเจนน้อยกว่าหรือไม่?
UPDATE - ขอบคุณสำหรับคำแนะนำ "โลกแห่งความจริง" !!!
ฉันใช้สิ่งนี้เป็นหน้าที่ของฉัน:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}