eg2: 个人使用后的效果
interface Person { firstName: string; lastName: string; } function greeter(person: Person): string { return "Hello, " + person.firstName + " " + person.lastName; } let user = { firstName: 1223, lastname: "User" }; greeter(user);
2.智能补全
在编写代码时ide就会提示函数签名.
interface Person { firstName: string; lastName: string; } /** * 问候语句 * @param {Person} person * @returns {string} */ function greeter(person: Person): string { return "Hello, " + person.firstName + " " + person.lastName; } /** * hello word! * * @param {string} word * @returns {string} */ function Hello(word: string): string { return "hello," + word; } export { greeter, Hello };
直接将这个ts文件引入到其他ts文件中,不仅补全了所有的参数类型,还告诉你需要填入一个参数,并且你只有填入一个Person类型的对象才不会报错。(智能补全和参数校验)
3.在重构上
动态一时爽,重构火葬场.
typescript 在重构上的优势,我们主要从三方面说明。
1.重命名符号,可将一切引用的地方都进行修改。
在vs code 中如果我们想修改函数、变量或者类的名称,我们可以使用重命名符号的功能,在当前项目中正确的修改所有的引用.这个既可以在ts中使用,也可以在js中使用,而它的底层实现都是依靠ts 的语法分析器实现的。
2.自动更新引用路径(vs code)。