zoukankan      html  css  js  c++  java
  • TypeScript入门

    TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。

    • 类型批注和编译时类型检查
    • 类型推断
    • 类型擦除
    • 接口
    • 枚举
    • Mixin
    • 泛型编程
    • 名字空间
    • 元组
    • Await

    解决了什么问题

    1. 类型问题。

    2. 参数个数和方法名不匹配的问题。。

    3.增强代码可读性。

    内置的数据类型

    数字类型 number
    字符串类型 string
    布尔类型 boolean
    数组类型
    元组类型
    枚举类型

    联合类型 , 例如 number|string , number[]|string[]等。

    安装

    先下载安装Nodejs

    然后安装TypeScript。 全局安装如下

    npm install -g typescript

    接口使用举例, 以student.ts为例

    
    
    interface IStudent{
        name:string,
        age:number,
        sayHello:()=> string
    }
    
    var zhangSan:IStudent = {
        name:"张三",
        age:18,
        sayHello:()=> { return "我是"+ zhangSan.name+",今年"+ zhangSan.age; }
    }
    
    console.log(zhangSan.name);
    console.log(zhangSan.age);
    console.log(zhangSan.sayHello());
    View Code
    
    

    使用nodejs编译代码

    tsc student.ts

    得到student.js文件。

    使用nodejs运行js文件

    node student.js

    module的使用

    接口文件

    ITeacher.ts

    export interface ITeacher{
        say();
    }
    View Code

    实例文件

    ChineseTeacher.ts

    import teacher = require("./ITeacher")
    export class ChineseTeacher implements teacher.ITeacher{
        public say(){
            console.log("我讲中文。。。");
        }
    }
    View Code

    EnglishTeacher.ts

    import teacher = require("./ITeacher")
    export class EnglishTeacher implements teacher.ITeacher{
        public say(){
            console.log("I say English...");
        }
    }
    View Code

    执行文件

    TestTearch.ts

    import teacher = require("./ITeacher");
    import chineseTeacher = require("./ChineseTeacher");
    import englishTeacher = require("./EnglishTeacher");
    
    function showAllTeacher(teacherSay: teacher.ITeacher){
        teacherSay.say();
    }
    
    showAllTeacher(new englishTeacher.EnglishTeacher());
    showAllTeacher(new chineseTeacher.ChineseTeacher());
    View Code

    使用命令 tsc TestTearch.ts 和node TestTearch.js

    泛型

    function identity<T>(arg: T): T {
        return arg;
    }
    
    let output1 = identity<string>("myString");
    let output2 = identity<number>(10086);
    let output3 = identity(12580);
    View Code

    声明, 使用declare关键字

  • 相关阅读:
    Centos7部署Django
    CentOS7 常用命令
    window安装django-auth-ldap
    解决group by分组默认获取id最小的一条数据
    js基础之if判断
    java操作word转pdf多选框问题(linux服务器下)
    震惊,男默女泪,使用nginx代理,并进行ip拦截
    高德地图在marker里设置自定义属性
    angular项目启动错误
    本地连接虚拟机内的kafka遇到的问题
  • 原文地址:https://www.cnblogs.com/wtujvk/p/14327505.html
Copyright © 2011-2022 走看看