Tôi đã xem qua một số mã node.js trước đó và tôi nhận thấy rằng người viết nó dường như ủng hộ cú pháp sau:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Trên những gì tôi cho là ngắn gọn hơn:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
Tôi đã tự hỏi nếu hình thức thứ hai thực sự là cú pháp JavaScript được xã hội chấp nhận hơn, tôi đã thấy nó trong tự nhiên nhiều lần hơn so với toán tử ternary cho mục đích này.
Tôi lưu ý rằng trong ví dụ đầu tiên, anh ta sử dụng hai số bằng (không phải bằng ba số) có nghĩa là nó sẽ tính "không xác định" là null, điều này sẽ làm giảm một tác động mà tôi có thể nghĩ đến. Tuy nhiên, tôi đã đọc ở nhiều nơi rằng == là một toán tử khá xấu trong JavaScript (JSLint chống lại nó rất nhiều, IIRC).