你要的是非空断言操作符?如果要让编译器确定返回值一定不是null或者undefined: a():Date{ let x:Date; ... return x!;//这样编译器就相信你x不为null,但只是避免编译错误,实际上你还是可以让x为空 }