[ Javascript ] 함수에서 Boolean return 시 undefined일 때

2020. 4. 28. 18:21언어/JS

728x90
반응형
SMALL

boolean형 함수를 만들어 쓸 때 javascript 환경에서 다음과 같이 쓰면 작동하지 않습니다.

function isTrue(num){
	if(num == 1)
    	return true;
    else
    	return false;
}

function test(num){
	if(isTrue(num)){
    	console.log("참입니다.");
    else
    	console.log("거짓입니다.);
}

반면 C++은 작동합니다.

#include <iostream>
using namespace std;

bool isTrue(int num){
  if(num == 1)
    return true;
  else
    return false;  
}

int main(){
  int a = 1;
  if(isTrue(a))
    cout<<"참입니다.";
  else
    cout<<"거짓입니다.";
}

 

Javascript는 다음과 같이 작성해야 합니다.

function isTrue(num){
	var isTrue;
	if(num == 1)
    	isTrue = true;
    else
    	isTrue false;
    return !!(isTrue);
}

function test(num){
	if(isTrue(num)){
    	console.log("참입니다.");
    else
    	console.log("거짓입니다.);
}

 

아니면 이런 식으로 작성하면 됩니다.

function isTrue(num){
	var isTrue;
	if(num == 1)
    	isTrue = true;
    else
    	isTrue false;
    return Boolean(isTrue);
}

function test(num){
	if(isTrue(num)){
    	console.log("참입니다.");
    else
    	console.log("거짓입니다.);
}

 

728x90
반응형