我正在使用PHP 7测试返回类型。
我创建了一个简单的脚本来测试PHP 7的返回类型:
<?php
Class Obj {
public function __construct(){
}
public function test(): string { //a string needs to be returned
return "ok";
}
}
function foo(): Obj { //instance of Obj needs to be returned
return new Obj();
}
$o = foo();
echo $o->test(); // output: ok
在其他编程语言中,当你指定一个返回类型为void
时,它意味着你不能返回任何内容,否则会出现错误。因此,我编写了这个脚本:
<?php
function foo(): void {
}
foo();
现在在上面的脚本中,预期的输出是空的。而实际上它给了我一个致命错误:
致命错误:foo()的返回值必须是void的一个实例,在第2行未返回任何内容
我的问题是(我找不到答案),在PHP 7中是否会有类似的void
类型?
null
和undefined
作为特殊值。undefined
并不意味着未定义。它是已声明但尚未赋值的变量的默认值,或者是函数的默认返回值。然而,你也可以有意地将其赋值给一个变量。真正的问题是,大多数JavaScript开发人员无法告诉你何时可以将其用作null
的替代选择。 - undefined