接口额外的属性检查一节中:
还有最后一种跳过这些检查的方式,这可能会让你感到惊讶,它就是将这个对象赋值给一个另一个变量: 因为 squareOptions 不会经过额外属性检查,所以编译器不会报错。
let squareOptions = { colour: 'red', width: 100 }
let mySquare = createSquare(squareOptions)
要留意,在像上面一样的简单代码里,你可能不应该去绕开这些检查。
对这段描述很困惑, 按我的理解ts会去检查createSquare函数调用时传递的参数类型,另起一个变量做参数为什么就不检查这个参数了?而且我们实际工作中都是另起变量作为函数参数的,这样做也不是开发者故意要去绕开这些检查啊?
很困惑,这让我感觉TS就像是魔法一样。