我有两个DateTimeImmtable对象,期望它们是相同的,我很惊讶地发现它们不是。即,为什么是以下false?
<?php
$d = new \DateTimeImmutable('2018-01-01');
$e = new \DateTimeImmutable('2018-01-01');
var_dump($d === $e);
Run Code Online (Sandbox Code Playgroud)
当然$d == $e评价为true
可能重复:
Javascript === vs ==:我使用哪个"相等"运算符是否重要?
什么时候JavaScript ==比===更有意义?
将字符串与未定义值进行比较时,以下方法之间的区别是什么.
var x;
if(x==undefined)
{
alert(x);
}
Run Code Online (Sandbox Code Playgroud)
和
if(x===undefined)
{
alert(x);
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,为什么我更喜欢第二种方法..请让我知道优点..
Swift 和其他一些语言一样,有一个身份运算符===。但似乎你不能对字符串使用它:
var x = "hello"
var y = "hello"
if x === y { //ERROR: 'String' does not conform to protocol 'AnyObject'
println("SAME!")
}else {
println("DIFFERENT!")
}
Run Code Online (Sandbox Code Playgroud)
有没有直接的方法来测试字符串的身份?!...或者我错过了什么?
我有以下代码:
a = []
b = a
Run Code Online (Sandbox Code Playgroud)
当我编译以下代码时,我得到了:
print(b is a) --> True
print(b is []) --> False
Run Code Online (Sandbox Code Playgroud)
如果b = a则不应该b is []返回True?