2016-06-25 4 views
2

함수을 사용하여 숫자가 균등한지 확인하고 자바 스크립트에 반환하고 싶은지 확인하고 싶습니다. 여기 내 코드가 간다. 숫자가 짝수 일 경우 true를 반환하고 그렇지 않으면 false를 반환해야합니다.자바 스크립트에서 문자열을 반환

var isEven = function(number) { 
    if(number%2 === 0) { 
     return "true"; 
    } else { 
     return "false"; 
    } 
}; 

코드가 작동하지 않습니다. 대신 true 및 false 주위의 인용 부호 ("...")가 제거 될 때 작동합니다. 왜? 나는 진리와 거짓이라는 단어가 문자열이라는 것을 의미하므로 따옴표 안에 포함시켜야합니다. 그것은해야 도와주세요,

+0

true 및 false는 문자열이 아니라 부울 값입니다. – gcampbell

+1

가장 간단한 방법은'function isEven (num) {return num % 2 === 0}'입니다. – gcampbell

답변

4

작동 : 추가에

var isEven = function(number) { 
    return !Boolean(number % 2); 
}; 

방법 isOdd를 만들 :

: 당신은 부울에 대해 "true"를 반환 할 수없는 이유

var isOdd = function(number) { 
    return !isEven(number); 
}; 

이유

마크 사이에있는 모든 것 "..."은 자바 스크립트에서유형으로 인식됩니다.3210. 이것은 또한 빈 문자열 "" 적용, 몇 가지 예 : 다른 언어에

typeof("") => "string" 
typeof("true") => "string" 
typeof(true) => "boolean" 

비교는 문자의 크기에 관심을 지불 할 필요, FE :

typeof(TRUE) => "undefined" (because it could be name of variable) 

추가에가 : ==를 사용하는 것이 고려 될 수 및 ===. 예 : "true" 문자열이기 때문에 당신이 따옴표로 truefalse을 넣으면

Boolean("") => false 
Boolean("1") => true 
Boolean("0") => true 
+0

여기서 'Boolean'을 사용하지 않아도됩니다. 그냥'return! (number % 2);'을 사용하십시오. – Xufox

4

, 그것은 true 반면, 문자열 값을 반환합니다에 대한

"" == 0 => it's a true 
"" === 0 => it's a false 

몇 가지 예 Boolean 기능 빌드 - 아니다. 부울 값을 반환하려면 true 또는 false을 반환하십시오.

if(number % 2 === 0) return true; 
else return false; 
0

당신은 당신은 전혀 if 필요하지 않습니다이

var isEven = n => !(n%2); 
 
console.log(isEven(1)); 
 
console.log(isEven(2));

0

같은 일을 시도 할 수 있습니다. 비교 결과를 반환하십시오.

var isEven = function(number) { 
    return number%2 === 0; 
}; 
관련 문제