按照信息隐藏的观点,一个模块应该暴露自己的职责,同时隐藏具体实现。
其实,我们认识一个模块,其实只需要一份“契约”而已:知道了供接口、需接口,和本身的“不变式”,这个模块的职责也就清楚了(模块的交互体现在供需接口里,作为参数出现)。
以往,JavaScript没有强类型,在契约的实现上有所欠缺;现在TypeScript提供了强类型和接口机制,正好给了我们一个更深刻(也更简单)的认识DOM的机会。
至于TypeScript实现的正确性……这只是一份契约而已。
目录
从TypeScript视角看HTML DOM(二):Node与Element
从TypeScript视角看HTML DOM(三):NodeList与HTMLCollection
从TypeScript视角看HTML DOM(四):Event Flow