//类型断言(Type Assertion)可以用来手动指定一个值的类型。

//语法:  值 as 类型  或  <类型>值

//类型断言的用途:

  //一:将一个联合类型断言为其中一个类型

  //二:将一个父类断言为更加具体的子类

  //三:将任何一个类型断言为any

  //四:将any断言为一个具体的类型

 

 //类型断言只会影响 TypeScript 编译时的类型,类型断言语句在编译结果中会被删除

function toBoolean(something: any): boolean {
    return something as boolean;
}

toBoolean(1);
// 返回值为 1

//在上面的例子中,将 something 断言为 boolean 虽然可以通过编译,但是并没有什么用,代码在编译后会变成
function toBoolean(something) {
    return something;
}

toBoolean(1);
// 返回值为 1

//所以类型断言不是类型转换,它不会真的影响到变量的类型。