2017-11-06 5 views
0

변수를 배열을 사용하지 않고 두 가지 다른 것으로 정의 할 수 있습니까? 그래서 예를 들면Javascript/Node.JS - 여러 정의가있는 var를 사용할 수 있습니까?

:

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!") 
} 
+2

아니 사용할 수 있습니다, 그 이유는 거기의 조건과 과제, 그래도. – PHPglue

+0

@PHPglue true입니다. –

답변

2

아니요, 변수는 한 번에 하나의 것을 보관할 수만 있습니다. 여러 가지를 원하면 배열을 사용해야합니다.

var myVar = "asd"|| "fgh"

이 코드 줄은 'truthy'인지 확인하기 위해 "asd"으로 평가됩니다. 따라서 myVar는 "asd"로 설정됩니다. 예를 들어 var myVar = null || "fgh"을 수행 한 경우 'falsy'인 경우 myVar를 두 번째 부분으로 설정하여 'fgh'와 동일하게 만듭니다.

+0

감사합니다. 감사합니다. :) –

1

변수는 하나의 값을 저장할 수 있습니다. 그러나 변수는 둘 이상의 값을 포함 할 수있는 배열이나 객체를 참조 할 수 있습니다.

+0

배열을 사용하지 않는 한 괜찮아요. 잡았다 –

2

이것은 하나의 정의에 불과합니다. 변수는 오른쪽 표현식 값에 지정됩니다. 원칙적으로,이 || 작품은 논리적 것을 얼마나

var x = 1 + 2; 

같은 일이 OR : 그것은 그들이 false, 0을하지 않는다면, 먼저 "truthy" value (예 : 비어 있지 않은 문자열로, 모든 값이 truthy입니다 반환 , "", null, undefined 또는 NaN). 귀하의 경우에는

var size = specifiedSize || 100; 

, 그것은 단순히 asd입니다 : 당신은 예를 들어, "실종"값으로 기본값을 제공하려는 경우에 유용합니다.

+0

alrighty gotchu –

1

당신은 가능한 모든 값을 저장하는 객체 또는 배열을 사용할 수 있습니다 :

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!"); 
    } 
} 
1

당신은 함수 표현식

var myVar = bool => bool ? "asd" : "fgh"; 
 

 
console.log(myVar(1)); // `"asd"` 
 
console.log(myVar(0)); // `"fgh"`