Я играл с типами union в TypScript 1.4, и я столкнулся с ошибкой несоответствия ложного типа.Typescript 1.4 Типы соединений, неверная ошибка ложного типа
Является ли это ошибкой компилятора или что-то не хватает?
ошибка TS2345: Аргумент типа 'строка | Object 'не присваивается параметру типа' string '. Тип 'Объект' не присваивается типу 'string'.
/** @inheritdoc */
public log(logLevel : LogLevel, message : string|Object, exception?: Exception): void {
// Check if the message is of type Object
if (Util.isObject(message)) {
// Log the message object
this.logObject(logLevel, message, exception);
}
// Check if the message is of type string
else if(Util.isString(message)) {
// Log the message
this.logMessage(logLevel, message, exception);
}
}
class Util {
protected static TYPE_STRING = 'string';
public static isString(object : any): boolean {
return (typeof object === Util.TYPE_STRING);
}
public static isObject(object : any): boolean {
return (object instanceof Object);
}
}
совершенен, что я искал утверждение типа/литья. Благодарю. – user634545
Это не литье. С заявлением не выполняется проверка времени выполнения. –
Я вижу, отсюда и название ... – user634545