Điều bạn đang cố gắng sử dụng là Ternary Operator. Bạn đang thiếu một phần khác của nó.
Bạn có thể làm một cái gì đó như:
(if_it_is) ? thats_cool() : function(){};
hoặc
(if_it_is) ? thats_cool() : null;
Hoặc, như những người khác đã gợi ý, bạn có thể tránh ternary nếu bạn không quan tâm đến người khác.
if_it_is && thats_cool();
Trong JavaScript, cũng như hầu hết các ngôn ngữ, kiểm tra lôgic này từ trái sang phải. Vì vậy, trước tiên nó sẽ thấy nếu if_it_is
là một 'trusy' value (true
, 1
, một chuỗi khác với ''
, vân vân). Nếu điều đó không vượt qua thì nó không làm phần còn lại của câu lệnh. Nếu nó vượt qua sau đó nó sẽ thực hiện thats_cool
như kiểm tra tiếp theo trong logic.
Hãy coi đó là phần bên trong câu lệnh if. Nếu không có nếu. Vì vậy, đó là một cách viết tắt của
if (if_it_is && thats_cool()) { }
Không, nó không bắt buộc. Sử dụng toán tử nhị phân thay thế (&&) miễn là 'thats_cool()' trả về một giá trị đánh giá là 'true'. –
Không. Nó cần phải có ':' và một số giá trị theo sau nó. Nếu bạn muốn, bạn chỉ có thể tạo một hàm có tên 'do_nothing()' mà ... tốt, không làm gì cả. – Edwin
user1048967, Điều đó được gọi là 'if() {}'. – Dykam