【发布时间】:2017-11-17 08:55:33
【问题描述】:
我正在将一个 JavaScript 库转换为 Haxe。 Haxe 看起来和 JS 很像,但是在工作中遇到了函数覆盖的问题。
例如,在以下函数中param 可以是整数或数组。
JavaScript:
function testFn(param) {
if (param.constructor.name == 'Array') {
console.log('param is Array');
// to do something for Array value
} else if (typeof param === 'number') {
console.log('param is Integer');
// to do something for Integer value
} else {
console.log('unknown type');
}
}
斧头:
function testFn(param: Dynamic) {
if (Type.typeof(param) == 'Array') { // need the checking here
trace('param is Array');
// to do something for Array value
} else if (Type.typeof(param) == TInt) {
trace('param is Integer');
// to do something for Integer value
} else {
console.log('unknown type');
}
}
当然,Haxe 支持Type.typeof(),但没有任何ValueType 支持Array。我该如何解决这个问题?
【问题讨论】: