gpt4 book ai didi

javascript - 鸭子打字与类型杂耍

转载 作者:行者123 更新时间:2023-11-28 17:15:10 25 4
gpt4 key购买 nike

在一些文献中,我读到Javascript中的变量支持Duck Typing,而PHP中的变量支持Type Juggling。我对此有点困惑,因为在 Javascript 和 PHP 中声明变量时它看起来很相似。这些术语之间的主要区别是什么?

最佳答案

我认为您正在混淆:类型杂耍,正如 PHP 文档所解释的那样,是指在需要时自动转换值到更适合的类型的灵 active 。例如,以下工作正常:

$a = "42";     // now $a is a string
$a = $a + 42; // now $a is an integer
$a = $a + 23; // now $a is still an integer
$a = $a + 1.3; // now $a is a float

另一方面,鸭子类型是关于对象本身如何行为的问题:

If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.

如果一个对象有正确的方法,我们就可以假设它是特定类型的。如果它像鸭子一样包含 quackswim 方法,那么它可以是鸭子。特别是对于 JS,有很好的例子 Example of Javascript Duck Typing? - 这里不涉及类型转换

关于javascript - 鸭子打字与类型杂耍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53653064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com