为什么动态类型语言不让开发人员指定类型?
我所知道的动态类型语言从不让开发人员指定变量的类型,或者至少对这种类型的支持非常有限。 例如,JavaScript方便时不提供任何机制来强制变量类型。PHP使您可以指定一些类型的方法参数,但是无法使用本机类型(int,string,等)的参数,也没有办法强制类型的参数比任何其他。 同时,可以方便地选择以动态类型语言指定变量的类型,而不是手动进行类型检查。 为什么会有这样的限制?是出于技术/性能方面的原因(我认为是JavaScript)还是出于政治方面的原因(我认为是PHP)?我不熟悉的其他动态类型语言是否属于这种情况? 编辑:在回答和评论之后,这是一个澄清的示例:假设我们在纯PHP中具有以下方法: public function CreateProduct($name, $description, $price, $quantity) { // Check the arguments. if (!is_string($name)) throw new Exception('The name argument is expected to be a string.'); if (!is_string($description)) throw new Exception('The description argument is expected to be a string.'); if (!is_float($price) || is_double($price)) throw new Exception('The price …