如何用最简洁的方式检验一个对象是否为字符串?
发布于 4 年前 作者 daGaiGuanYu 2929 次预览 最后一次回复是 4 年前 来自 问答
怎样检验字符串最简洁?
假设写一个函数 isString,应满足:
- isString(’’) == true
- isString(new String()) == true
- isString(new (class extends String {}) == true
- isString(undefined) == false
- isString(null) == false
8 回复
这样可以吗,老哥们
typeof str === ‘string’ 就可以了,string 是原始类型,你用 instanceOf String 没用的
@rrbe 试试
typeof new String('str')用 Object.prototype.toString.call(str) == ‘[object String]’
这个办法不仅可以用于 string,对于其他的任意类型都可以准确判断。
@myy 这个不戳~
我挺好奇 new String(‘str’) 和 ‘str’ 是同一个东西吗。。。
underscore里有的,node库里也有的。
@zhangxh1023 不是