我希望你能帮我理解什么是类型安全。在动态类型语言中,类型检查是在运行时进行的。例如,如果我运行以下PHP代码:
<?php
class MyClass
{
}
// Create a MyClass instance
$mc = new MyClass();
// Create an int variable
$i = 1234;
// Add $mc and $i
$result = $mc + $i;
?>
我会因为
+运算符
不支持MyClass
数据类型而出现错误。所以基本上类型检查是在运行时执行的。类型安全是指无论是在编译时还是在运行时进行类型检查,还是指必须仅在编译时执行类型检查,因此每个变量必须显式地给出数据类型(如C、Pascal、Java等)。
function x() { $i = 0; if (true) { $i = "bla"; } return $i; }
,就没有了。 - Royal Bgif()
块中,则没有类型安全性。 - Royal BgBigDecimal.divide
,NullPointerException
,...)。 - Elias Van Ootegem