正确使用typeOf作为字符串

时间:2013-11-18 09:49:51

标签: javascript string types

有人可以告诉我这是否是在JavaScript中进行typeOf检查的正确方法?

if ((typeof str === "string") && (str.toLowerCase() == "true")) return true;

我觉得字符串需要在引号中有点奇怪我以为它会是 String 而没有任何引号。我确定我在某个地方读到有这样一种正确和错误的方法。 谢谢。

4 个答案:

答案 0 :(得分:0)

根据Developper Mozilla developper network,您可以使用简单的引号来定义您要查找的类型。

它还列出了实现你所谈论的好方法和坏方法:

// Strings
typeof "" === 'string';
typeof "bla" === 'string';
typeof (typeof 1) === 'string'; // typeof always return a string
typeof String("abc") === 'string'; // but never use this form!

答案 1 :(得分:0)

这解释了使用" typeof": http://www.javascriptkit.com/javatutors/determinevar2.shtml 我认为你将它与J​​ava中的instanceof混淆,你将我将它与String类匹配。

答案 2 :(得分:0)

如果要在if语句中使用String,可以使用构造函数。它会是这样的:

if ((str.constructor == String)) ...

检查http://jsfiddle.net/sCU3M/

但使用typeof str === "string"也是正确的。

答案 3 :(得分:0)

“typeof”函数返回一个字符串,这就是你需要将结果检查为字符串(带引号)的原因。但是,您可以简单地将整个条件写为:

return ((typeof str === "string") && (str.toLowerCase() == "true"));