如何判断传递给函数的参数是对象还是字符串?

时间:2016-02-28 11:10:34

标签: javascript

我有这个功能:

error = (error, modelState, modalHeader, modalBody): ng.IPromise<any> => {
    // function code here

在某些情况下,第一个参数可以是字符串,例如:

"problem" 

在其他情况下,它可能是这样的对象:

{
"ErrorMessage":"END_TEST - Invalid TestID, Unauthorized Access or TestStatus is not Started or Paused",
"ErrorNumber":50001
}

有没有办法可以检测它是字符串还是对象?

1 个答案:

答案 0 :(得分:1)

typeof operator是你的朋友:

error = (error, modelState, modalHeader, modalBody): ng.IPromise<any> => {
   if (typeof error === 'string') {
     //string
   } else if (typeof error === 'object') {
     //object
   }
}

typeof可评估为以下内容:stringnumberobjectundefinedbooleanfunction。< / p>