javascript - 切換字串值的布林值等效方法
我知道你可以在 JavaScript 中用一行程式碼切換布林值。
var toggle = false;
if(true) toggle != toggle;
但是這也可以用字串做到嗎?我知道可以用一些 if 陳述式來實現。但有可能用一行程式碼做到嗎?像這樣的東西:
var string_toggle = "CAT";
if(true) "CAT" = "ESP" || "ESP" = "CAT";
如果我所問的問題不清楚,請告訴我,以便我可以改進問題。
答案#1
你可以使用三元運算子。
string_toggle = (string_toggle === "CAT") ? "ESP" : "CAT";
這實際上可以轉化為:
if (string_toggle === "CAT") {
string_toggle = "ESP";
} else {
string_toggle = "CAT";
}
答案#2
如果你是重度使用者,為什麼不創建一些類呢?overkill
這裡我正在使用這個 JavaScript 語法。
你應該查看 ECMAScript 6,你會喜歡它的!
class ToggleValue {
constructor(value1,value2){
this.values = [value1,value2]
this.pointer = 0
}
toggle(){
this.pointer = +!this.pointer
}
valueOf(){
return this.values[this.pointer]
}
}
var dupaOrGrabowa = new ToggleValue('dupa', 'grabowa')
dupaOrGrabowa.toggle()
console.log(dupaOrGrabowa + '')
dupaOrGrabowa.toggle()
console.log(dupaOrGrabowa + '')