1. // 类型断言
    2. function getLength2(str:string|number):number{
    3. if((<string>str).length){
    4. return (<string>str).length
    5. }else{
    6. return str.toString().length
    7. }
    8. }
    9. function getLength3(str:string|number){
    10. if((str as string).length){
    11. return (str).length
    12. }else{
    13. return str.toString().length
    14. }
    15. }
    16. type Name = string;
    17. type NameResolve =()=>string;
    18. type NameOrResolve = Name | NameResolve;
    19. function getName(n:NameOrResolve):Name{
    20. if(typeof n ==== string){
    21. return (<string>n)
    22. }else{
    23. n()
    24. }
    25. }
    26. interface A {
    27. msg:string;
    28. }
    29. function helper(options:A):A{
    30. return options
    31. }
    32. const xxA:A = {}
    33. interface Window {
    34. a:number;
    35. }
    36. interface Window {
    37. b:string
    38. }
    39. const s:Window =''
    40. declare module 'koa-swig'{
    41. interface vue {
    42. a:number;
    43. }
    44. interface vue {
    45. b:string
    46. }
    47. }