zoukankan      html  css  js  c++  java
  • TypeScript

    1 什么是typescript?

    微软开发的自由和开源的编程语言
    typescript是javascript类型的超集,它可以编译为纯javascript。
    可以在任何浏览器、任何计算机、任何操作系统上运行。
     
    2 typescript与javascript有什么区别?
    (1)TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码无需做任何修改便可与TypeScript一起使用,甚至可以直接将现有的.js文件重命名为.ts文件。
    (2)TypeScript 通过类型注解提供编译时的静态类型检查。
    类型注解:TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式。
    首先看一段js代码(.js)
    function greeter(person) {
        return "Hello, " + person;
    }
    var user = "Jane User";
    document.body.innerHTML = greeter(user);

    这里greeter函数的参数person可以接收任何类型的值,如果我们希望person接收的是字符串类型,就像java的参数类型一样,传入类型不相符的参数编译会不通过。js不提供这种检查

    接下来让我们看看TypeScript工具带来的高级功能。 给 person函数的参数添加: string类型注解

    TypeScript代码如下(.ts):

    function greeter(person: string) {
        return "Hello, " + person;
    }
    var user = "Jane User";
    document.body.innerHTML = greeter(user);

    这里编译正常,若尝试把 greeter的调用改成传入一个数组

    function greeter(person: string) {
        return "Hello, " + person;
    }
    var user = [0, 1, 2];
    document.body.innerHTML = greeter(user);

    重新编译,会产生了一个错误:Argument of type 'number[]' is not assignable to parameter of type 'string'.

    TypeScript会告诉你使用了非期望个数的参数调用了这个函数。要注意的是尽管有错误,greeter.js文件还是被创建了。 就算你的代码里有错误,你仍然可以使用TypeScript。但在这种情况下,TypeScript会警告你代码可能不会按预期执行。

    (3)TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。
     
    3 为什么会有typescript?
    JavaScript 只是一个脚本语言,并非真正设计用于开发大型 Web 应用,JavaScript 没有提供类和模块等概念,对于一个真正的应用开发,TypeScript 扩展JavaScript 并实现了这些特性。
    主要特性:
    • TypeScript 是微软推出的开源语言,使用 Apache 授权协议
    • TypeScript 是 JavaScript 的超集. 
    • TypeScript 增加了可选类型、类和模块
    • TypeScript 可以编译成可读的、标准的 JavaScript
    • TypeScript 支持开发大规模 JavaScript 应用,支持所有浏览器,主机和操作系统
    • TypeScript 设计用于开发大型应用,并保证编译后的 JavaScript 代码兼容性
    • TypeScript 扩展了 JavaScript 的语法,因此已有的 JavaScript 代码可直接与 TypeScript 一起运行无需更改
    • TypeScript 文件扩展名是 ts,而 TypeScript 编译器会编译成 js 文件
    • TypeScript 语法与 JScript .NET 相同
    • TypeScript 非常易学和易于理解
     语言特性:
    • 接口
    • 模块
    • 类型注解
    • 编译时类型检查
    • Arrow 函数 (类似 C# 的 Lambda 表达式)
    4 如何获取
    TypeScipt不依赖任何 IDE,你可以在任何应用中将 TypeScript 编译成 JavaScript。
    可以通过以下两个方法来安装 TypeScript:
    Intellij IDEA配置typescript
    File-settings-typescript

    进入网站 https://nodejs.org/en/download/,选择自己的电脑版本下的nodejs应用。Node interpreter下,选择下载好的nodejs应用即可。

    进入网站 https://github.com/Microsoft/TypeScript/,点击 Download ZIP,下载typescript,下载完成后解压。点击Compiler version 后的edit按钮,选择typescript解压目录下的lib目录。

     ok保存
    注:新建file文件,以.ts结尾,即可创建typescript文件
     
    5 如何使用
    要在应用中使用 TypeScript 必须先编译,编译的结果是生成 js 文件。
    如何编译?可以通过 TypeScript 编译器 tsc 来完成这个过程:tsc filename.ts   这里是配置到idea中自动编译的。
    一旦编译成功,就会在相同目录下生成一个同名 js 文件(也可以通过命令参数来修改默认的输出名称),然后直接在html页面引用js文件就行了。
     
    6 快速上手
    (1)接口
    在TypeScript里,只在两个类型内部的结构兼容那么这两个类型就是兼容的。 这就允许我们在实现接口时候只要保证包含了接口要求的结构就可以,而不必明确地使用 implements语句。
    interface Person {
        firstName: string;
        lastName: string;
    }
    
    function greeter(person: Person) {
        return "Hello, " + person.firstName + " " + person.lastName;
    }
    
    var user = { firstName: "Jane", lastName: "User" };
    
    document.body.innerHTML = greeter(user);

    (2)类

    TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程。

    让我们创建一个Student类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起共作,程序员可以自行决定抽象的级别。

    还要注意的是,在构造函数的参数上使用public等同于创建了同名的成员变量。

    class Student {
        fullName: string;
        constructor(public firstName, public middleInitial, public lastName) {
            this.fullName = firstName + " " + middleInitial + " " + lastName;
        }
    }
    
    interface Person {
        firstName: string;
        lastName: string;
    }
    
    function greeter(person : Person) {
        return "Hello, " + person.firstName + " " + person.lastName;
    }
    
    var user = new Student("Jane", "M.", "User");
    
    document.body.innerHTML = greeter(user);

    重新运行tsc greeter.ts,你会看到生成的JavaScript代码和原先的一样。 TypeScript里的类只是JavaScript里常用的基于原型面向对象编程的简写。

    (3)运行TypeScript Web应用

    <!DOCTYPE html>
    <html>
        <head><title>TypeScript Greeter</title></head>
        <body>
            <script src="greeter.js"></script>
        </body>
    </html>

    在浏览器里运行该html查看效果。

     
    参考文章:
    TypeScript入门指南:http://www.cnblogs.com/xspaceworld/p/3698227.html
    TypeScript中文在线文档:https://www.tslang.cn/docs/handbook/typescript-in-5-minutes.html
    IDEA配置TypeScript:http://blog.csdn.net/luyilaosan/article/details/51320349
    TypeScript在线玩:http://www.typescriptlang.org/play/
  • 相关阅读:
    注意 定义类的时候 不要null 别忘了new 实例化 否则报错
    如果通过key获取dictionary里面的value
    C#邮箱身份验证
    时间选择器 可以选择日期和时间
    C#的Timer解析
    使用微软的组件发邮件
    将html代码写入临时文件夹下面的 然后发来给webbrowser使用
    c#中DataGridView 如何设置 才能选中一行 设置鼠标事件
    lumisoft 获取邮件的方法
    C# 动态添加CheckedListBox的选项,并设置选项为 选中? 怎么做?
  • 原文地址:https://www.cnblogs.com/ouym/p/7299676.html
Copyright © 2011-2022 走看看