Typescript 开发1. 概述及基本使用

参考: https://www.runoob.com/typescript/ts-install.html

1. npm install -g typescript

2. 在命令行上,运行 TypeScript 编译器

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

tsc greeter.ts

会在当前文件夹下生成一个 js 文件

3. 函数定义时的类型注解

  • function greeter(person: string) { // 期望 字符串 类型
        return "Hello," + person;
    }l
    et user = [0, 1, 2]; // 数组 类型
    
    document.body.innerHTML = greeter(user);

如此重新编译,你会看到产生了一个错误

  • error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'.

TypeScript提供了静态的代码分析,它可以分析代码结构和提供的类型注解

要注意的是尽管有错误, greeter.js 文件还是被创建了。

就算你的代码里有错误,你仍然可以使用TypeScript。在这种情况下,TypeScript只会警告你代码可能不会按预期执行

4. 接口

作为 类型注释,指明对象参数的 字段类型

  • interface Person {
        firstName: string;
        lastName: string;
    }
    
    
    function greeter(person: Person) {
        return "Hello," + person.firstName + " " + person.lastName;
    }
    
    let user = { 
        firstName: "Jane", 
        lastName: "User" 
    };
    document.body.innerHTML = greeter(user);

5.

TypeScript 支持基于类的面向对象编程

让我们创建一个 Student 类,它带有一个构造函数和一些公共字段。

注意类和接口可以一起共作,程序员可以自行决定抽象的级别

在构造函数的参数上使用 public 等同于创建同名的成员变量

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

重新运行 tsc greeter.ts ,你会看到生成的JavaScript代码和原先的一样。

TypeScript 里的类只是 JavaScript 里常用的基于原型 面向对象编程的简写

在 greeter.html 里输入如下内容

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

在浏览器里打开 greeter.html 运行这个应用

点击这个 锤子? 编译 ts 输出 js, 然后允许 html

6. 设置 tsconfig.json

  • {
        "compileOnSave": true,
        "files": [
            "./01_hello.ts"
        ],
        "compilerOptions": {
            "module": "commonjs",
            "noImplicitAny": true,
            "noEmitOnError": true,
            "target": "es5",
            "sourceMap": true
        },
        "exclude": [
            "node_modules"
        ]
    }
  • 设置 "noImplicitAny" 选项,可以确保你不会错写任何新的类型。
  • 设置 "compileOnSave" 选项可以确保你在运行web程序前自动编译保存变更后的代码

7. 配置 NPM 以使用我们能够下载 JavaScript 包

8. 构建过程:

9. TypeScript 程序由以下几个部分组成:

  • 模块
  • 函数
  • 变量
  • 语句 和 表达式
  • 注释

10. tsc 可以同时编译多个 ts 文件

tsc file1.ts, file2.ts, file3.ts

11. 注意:

TypeScript 区分 大写和小写字符

分号是可选的

  • 可以使用分号或不使用, 分号在 TypeScript 中是可选的,建议使用
  • 语句写在同一行则一定需要使用分号来分隔,否则会报错

注释:

  • 单行注释 ( // )     在 // 后面的文字都是注释内容
  • 多行注释 (/* */)     这种注释可以跨越多行

面向对象:对象和类

  • 对象:对象是类的一个实例,有状态和行为。

例如,一条狗是一个对象,

状态有:颜色、名字、品种

行为有:摇尾巴、叫、吃等

  • :类是一个模板,它描述一类对象的行为和状态
  • 方法:方法是类的操作的实现步骤

  • var Site = /** @class */ (function () {
        function Site() {
        }
        Site.prototype.name = function () {
            console.log("Runoob");
        };
        return Site;
    }());
    var obj = new Site();
    obj.name();

 

转载于:https://www.cnblogs.com/tianxiaxuange/p/10967157.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值