在Flow docs约Any
类型中,他们说使用Any
类型是不安全的,如果你这样做,你应该尽快投射该类型的操作结果可以避免Any
泄漏到代码中的其他变量。此投射在下面的let foo: number = obj.foo
行中完成。
// @flow
function fn(obj: any) /* (:number) */ {
let foo: number = obj.foo;
let bar /* (:number) */ = foo * 2;
return bar;
}
let bar /* (:number) */ = fn({ foo: 2 });
let baz /* (:string) */ = "baz:" + bar;
参数fn
的{{1}}参数可以是任何参数。它的属性可以有任何东西。 为什么流程让你甚至可以进行上述演员?你不能保证foo是一个数字,因为obj
可以是任何东西。
答案 0 :(得分:0)
如评论中所述,any
的整点是允许"任何"要对其进行的操作。
这基本上就像是问为什么你的手机在静音模式下听不到铃声。 这是静音模式的重点。将铃声音量调整为其他值(例如,使用mixed
),如果您想让它产生噪音。