Có cách nào thực sự dễ dàng để chuyển đổi giá trị boolean trong javascript không?
Cho đến nay, điều tốt nhất tôi có được ngoài việc viết một chức năng tùy chỉnh là ternary:
bool = bool ? false : true;
Có cách nào thực sự dễ dàng để chuyển đổi giá trị boolean trong javascript không?
Cho đến nay, điều tốt nhất tôi có được ngoài việc viết một chức năng tùy chỉnh là ternary:
bool = bool ? false : true;
Câu trả lời:
bool = !bool;
Điều này đúng trong hầu hết các ngôn ngữ.
bool = !bool || true;
có một mặc định, tôi cho rằng.
Nếu bạn không quan tâm đến việc boolean được chuyển đổi thành một số (đó là 0 hoặc 1), bạn có thể sử dụng Toán tử gán gán Bitwise XOR . Thích như vậy:
bool ^= true; //- toggle value.
Điều này đặc biệt tốt nếu bạn sử dụng tên boolean mô tả dài, EG:
var inDynamicEditMode = true; // Value is: true (boolean)
inDynamicEditMode ^= true; // Value is: 0 (number)
inDynamicEditMode ^= true; // Value is: 1 (number)
inDynamicEditMode ^= true; // Value is: 0 (number)
Điều này đối với tôi dễ quét hơn là lặp lại biến trong mỗi dòng.
Phương pháp này hoạt động trong tất cả các trình duyệt (chính) (và hầu hết các ngôn ngữ lập trình).
bool ^= 1
bool === false
hay bool === true
nữa. Nó có thể phá vỡ mã hiện có, vì vậy hãy cẩn thận.
Chúng ta hãy xem điều này trong hành động:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true