啊?这……

2020-07-23 18:59:51 +08:00
 pabupa
"    " instanceof String; // False !!!!!!!!!!!!!!

你内部怎么实现的,跟我有社么关系呀?你不能让他保持一致吗?!

9438 次点击
所在节点    JavaScript
69 条回复
GM
2020-07-23 19:07:05 +08:00
不能。

爱用不用,不用就滚~~~~~
Touchevent
2020-07-23 19:09:10 +08:00
暴躁老哥。。
wellsc
2020-07-23 19:11:22 +08:00
Js 三元一体.jpg
DoodleSit
2020-07-23 19:12:28 +08:00
typeof 不香吗~~
instanceof 代表是实例的意思,前提是要实例化( new )
yongjing
2020-07-23 19:13:33 +08:00
RTFM instanceof 只校验对象
pabupa
2020-07-23 21:10:14 +08:00
@GM ?????????
pabupa
2020-07-23 21:13:08 +08:00
@yongjing
@DoodleSit

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer

"可以通过 new Object(),Object.create()方法,或者******使用字面量标记(初始化标记)初始化对象******。"
ViggoSite
2020-07-23 21:14:48 +08:00
typeof 不香吗~~
pabupa
2020-07-23 21:21:47 +08:00
@ViggoSite typeof 返回的是字符串,还需要再比较一次。
MintZX
2020-07-23 21:29:52 +08:00
我没理解,这有什么问题?

前者是模版字符,后者是对象。当然不是一个东西。

python 和 ruby 是一个类那就是 True,js 不是一个类那就不是 true 。你想比较的话用 new String()好了。
morethansean
2020-07-23 21:30:05 +08:00
@ViggoSite 你引用的这篇文章里不是写了嘛, ```An object initializer is a comma-delimited list of zero or more pairs of property names and associated values of an object, enclosed in curly braces ({}).``` string literal 并不是 object, instanceof 会返回 false.
ViggoSite
2020-07-23 21:31:03 +08:00
@pabupa 那....有啥问题吗?

typeof " " == "string"
ViggoSite
2020-07-23 21:32:38 +08:00
@morethansean @错了(⊙_⊙;)…
jinliming2
2020-07-23 21:36:34 +08:00
String 是类,你可以 new String
"" 是 string,基本数据类型之一,不是 object
既然连 object 都不是,怎么可能 instanceof ?
"" !== new String(""),因为数据类型不一样,一个是 string,一个是 object 。

顺便,@pabupa #7,你能把那一段复制完吗?
可以通过 new Object(),Object.create()方法,或者使用字面量标记**(初始化标记)**初始化对象。 **一个对象初始化器,由花括号 /大括号 ({}) 包含的一个由零个或多个对象属性名和其关联值组成的一个逗号分隔的列表构成**。
所以,只有 {} 出来的才是对象!
hirasawayui
2020-07-23 21:56:37 +08:00
new String(" are you ok? ") instanceof String // true
HiCode
2020-07-23 22:26:42 +08:00
[] == []

false
pigmen
2020-07-23 22:30:30 +08:00
这个真不怪 js,是你用错了
watanuki
2020-07-23 22:30:44 +08:00
搜索 wtfjs 有惊喜
yujiff
2020-07-23 22:41:25 +08:00
我爱 V2,高人多且直接、热心!
zhengjian
2020-07-23 23:07:12 +08:00
new String(" ") instanceof String;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX