Nếu bạn ghét các nhà điều hành có điều kiện ternary ở nơi đầu tiên, không có cần phải trả lời;)ternary (Conditional) điều hành và Phong cách
Tôi thường thấy điều này được sử dụng trong song song với một biểu hiện phân công như:
var foo = (some_condition) ? then_code : else_code;
Tuy nhiên, tôi muốn sử dụng nó để thay thế mã đơn giản như:
if(some_condition) {
do_something_simple;
} else {
do_something_else;
}
và thay vào đó làm:
(some_condition) ? do_something_simple : do_something_else;
Tôi có khả năng làm điều này bằng JavaScript. Ở trên nó trả về undefined do đó nó không yêu cầu gán. Tôi thích không gian được lưu nhưng tự hỏi mọi người nghĩ gì về loại hình sử dụng này, một lần nữa, tôi thường chỉ thấy ternary được sử dụng với một bài tập.
EDIT: Tôi đã thấy các câu trả lời ám chỉ đến "ý định ẩn". Mặc dù cổ điển được sử dụng trong các biểu thức, làm thế nào là ẩn mục đích này nữa sau đó sử dụng trong một biểu thức? Đặc biệt là trong một ngôn ngữ năng động, nơi người ta có thể nhìn thấy việc sử dụng các toán tử ternary trên khắp nơi?
Câu hỏi trùng lặp. Vui lòng luôn xem xét các câu hỏi đã được hỏi và trả lời trước đây. Đây là liên kết, xem liệu nó có giúp ích không: http://stackoverflow.com/questions/3622244/full-if-else-statement-vs-conditional-operator –
Mẹo: Lưu ý rằng toán tử ternary này thường được gọi là điều hành có điều kiện. Toán tử "ternary" chỉ là toán tử với 3 toán hạng, do đó từ "ternary". Không có nhiều toán tử bậc ba, nhưng trong các ngôn ngữ có nhiều, toán tử có điều kiện chỉ là một trong số chúng. –
@Mazhar: câu hỏi đó là về cách sử dụng '?:' Theo cách thông thường, được chấp nhận như là một lựa chọn mức biểu thức. Đây là về sự lạm dụng của '?:' Để thực hiện các tác dụng phụ đang hoạt động, để thay thế 'if-else'. Cá nhân tôi ghét thực hành này rất nhiều. – bobince