切换字符串等效的布尔值
toggle boolean value equivalent for strings
我知道您可以在 javascript 中执行以下操作以在一行中切换布尔值。
var toggle = false;
if(true) toggle != toggle;
但这也可以用字符串实现吗?我知道这可以通过一些 if 语句来完成。但是有可能在一个班轮上做吗?像这样:
var string_toggle = "CAT";
if(true) "CAT" = "ESP" || "ESP" = "CAT";
如果不清楚我在问什么,请告诉我,以便我改进问题。
您可以使用 ternary operator。
string_toggle = (string_toggle === "CAT") ? "ESP" : "CAT";
这有效地转化为:
if (string_toggle === "CAT") {
string_toggle = "ESP";
} else {
string_toggle = "CAT";
}
如果你是重度用户,为什么不做一些class?overkill
我在这里使用 this 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 + '')
我知道您可以在 javascript 中执行以下操作以在一行中切换布尔值。
var toggle = false;
if(true) toggle != toggle;
但这也可以用字符串实现吗?我知道这可以通过一些 if 语句来完成。但是有可能在一个班轮上做吗?像这样:
var string_toggle = "CAT";
if(true) "CAT" = "ESP" || "ESP" = "CAT";
如果不清楚我在问什么,请告诉我,以便我改进问题。
您可以使用 ternary operator。
string_toggle = (string_toggle === "CAT") ? "ESP" : "CAT";
这有效地转化为:
if (string_toggle === "CAT") {
string_toggle = "ESP";
} else {
string_toggle = "CAT";
}
如果你是重度用户,为什么不做一些class?overkill
我在这里使用 this 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 + '')