类型注释

‘:’ + 注释类型

  1. //参数
  2. function greeter(person:string) {
  3. return 'Hello' + person
  4. }
  5. //变量
  6. let count: Number = 1;
  7. //自动推断
  8. let text = 'string'; //推断为 let text: string = 'string'
  9. text = 0; //报错
  10. //联合类型
  11. let age: string | number;
  12. age = '18';
  13. age = 18;

接口

interface定义接口

  1. interface GreeterConf{
  2. name: String,
  3. age?: Number, //?表示参选
  4. readonly label: String //readonly 表示创建后不可修改
  5. }
  6. let greeter: GreeterConf = {
  7. name: 'xiao hua',
  8. label: 'human'
  9. }
  10. //继承
  11. interface humanConf extend GreeterConf{
  12. player: Boolean
  13. }

类属性

公有属性,私有属性,保护属性

  1. class Person{
  2. public name: String, //公有属性
  3. private count: Number, //私有属性,不能被外部访问
  4. protected family: String, //保护属性,只能被当前和继承类访问
  5. }
  6. class asia extend Person{
  7. constructor() {
  8. this.familyName = 'asia ' + this.family
  9. }
  10. }

为什么选择Typescript

  • 增加代码的可读性和维护性(类型系统可以说是最好文档,在编辑阶段即可发现错误,IDE语法提示)
  • 具有宽容性(把js后缀改为ts即完成转换 以及编译错误也能生成js代码)

    Summary

    Typescript是一个Javascript的完善,
    提供类型系统(类型注释使变量成为强类型),
    和ES6支持(模版字符串,展开操作特性),
    以及类完善,(类的公有属性,私有属性,保护属性定义。混入是使用)。