• 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关键字

  • 相关阅读:
    CSS3-给网页添加图片
    CSS3-margin,padding,border
    布局左固定右自适应
    Java-基础编程(螺旋矩阵&乘法表)
    Java IO流整理Rick
    Java-Eclipse插件开发学习笔记
    关于《程序语言-平台优越性》一文补充说明
    程序语言-平台优越性
    Understand RNN with TensorFlow in 7 Steps
    pandas mean 返回 inf
  • 原文地址:https://www.cnblogs.com/wtujvk/p/14327505.html
Copyright © 2020-2023  润新知