Javascript/Node.JS - 是否可以有多个定义的变量?
Javascript/Node.JS - is it possible to have a var with multiple definitions?
是否可以在不使用数组的情况下将一个变量定义为两个不同的东西?
例如:
var myVar = "asd" || "fgh" // or maybe it's "asd" && "fgh"?
var message = "asdtest"
var otherMessage = "fghtest"
if (message === myVar + "test") {
console.log("success!")
}
else if (otherMessage === myVar + "test") {
console.log("success!")
}
一个变量只能保存一个值。但是,您的变量可以引用数组或对象,它们可以包含多个值。
不可以,一个变量一次只能保存一个东西。如果你想要多个东西,你应该使用数组。
var myVar = "asd" || "fgh"
这行代码将评估 "asd"
以查看它是否是 'truthy',并且是。因此,myVar 设置为 "asd"。相反,如果它是 'falsy',例如,如果你做了 var myVar = null || "fgh"
,那么它会将 myVar 设置为第二部分,从而使其等于 "fgh".
这只是一个定义。该变量将被分配给右侧表达式的值。原则上,这与
相同
var x = 1 + 2;
||
的工作原理是它是逻辑或:它 returns 第一个 "truthy" value (例如非空字符串,所有值都是真实的,除非它们是 false
、0
、""
、null
、undefined
或 NaN
)。如果您想为 "missing" 值提供默认值,这很有用,例如:
var size = specifiedSize || 100;
在你的情况下,它只是 asd
。
您可以使用对象或数组来存储所有可能的值:
var myVarObj = {
p1: "asd"
p2: "fgh"
};
var myVarArr = ["asd", "fgh"];
for (var property in myVarObj) {
if (message === myVarObj[property] + "test") {
console.log("success!");
}
}
for (var value in myVarArr) {
if (message === value + "test") {
console.log("success!");
}
}
你可以使用函数表达式
var myVar = bool => bool ? "asd" : "fgh";
console.log(myVar(1)); // `"asd"`
console.log(myVar(0)); // `"fgh"`
是否可以在不使用数组的情况下将一个变量定义为两个不同的东西?
例如:
var myVar = "asd" || "fgh" // or maybe it's "asd" && "fgh"?
var message = "asdtest"
var otherMessage = "fghtest"
if (message === myVar + "test") {
console.log("success!")
}
else if (otherMessage === myVar + "test") {
console.log("success!")
}
一个变量只能保存一个值。但是,您的变量可以引用数组或对象,它们可以包含多个值。
不可以,一个变量一次只能保存一个东西。如果你想要多个东西,你应该使用数组。
var myVar = "asd" || "fgh"
这行代码将评估 "asd"
以查看它是否是 'truthy',并且是。因此,myVar 设置为 "asd"。相反,如果它是 'falsy',例如,如果你做了 var myVar = null || "fgh"
,那么它会将 myVar 设置为第二部分,从而使其等于 "fgh".
这只是一个定义。该变量将被分配给右侧表达式的值。原则上,这与
相同var x = 1 + 2;
||
的工作原理是它是逻辑或:它 returns 第一个 "truthy" value (例如非空字符串,所有值都是真实的,除非它们是 false
、0
、""
、null
、undefined
或 NaN
)。如果您想为 "missing" 值提供默认值,这很有用,例如:
var size = specifiedSize || 100;
在你的情况下,它只是 asd
。
您可以使用对象或数组来存储所有可能的值:
var myVarObj = {
p1: "asd"
p2: "fgh"
};
var myVarArr = ["asd", "fgh"];
for (var property in myVarObj) {
if (message === myVarObj[property] + "test") {
console.log("success!");
}
}
for (var value in myVarArr) {
if (message === value + "test") {
console.log("success!");
}
}
你可以使用函数表达式
var myVar = bool => bool ? "asd" : "fgh";
console.log(myVar(1)); // `"asd"`
console.log(myVar(0)); // `"fgh"`