首页 > 代码库 > JavaScript中“typeof”运算符与“instanceof”运算符的差异
JavaScript中“typeof”运算符与“instanceof”运算符的差异
在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢?
差异一:使用方式不同。
最明显的差异就是这两个运算符的使用方式了。“typeof”是一元运算符,其后直接跟需要进行类型判断的数据;而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型。
//typeof是一元运算符;var amount = 108;console.log(typeof amout);//控制台输出“number”;//instanceof是二元运算符;var name = new String(‘Jim‘);console.log(name instanceof String);//控制台输出“true”;
差异二:作用对象不同。
运算符“typeof”既可以用于原始类型数据,也可以用于引用类型数据,而运算符“instanceof”只可以用来判断引用类型数据的具体类型。
差异三:作用于引用值时,返回值不同。
当作用于引用值时,运算符“typeof”的返回值只有“object”或者“function”,不可以精确判断数据的类型。相比之下,运算符“instanceof”可以用来精确判断数据的类型。
//作用于引用值,“typeof”返回值只有object或者function;var name = new String(‘jim‘);var remind = function(){ alert(‘don‘t forget!‘); }console.log(typeof name);//控制台输出“Object”;console.log(typeof remind);//控制台输出“function”;console.log(name instanceof String);//控制台输出“true”;
JavaScript中“typeof”运算符与“instanceof”运算符的差异
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。