comelong blog comelong blog
首页
  • html5
  • JavaScript
  • ES6
  • Vue
  • react
  • Node
  • PHP
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

comelong

永远相信技术的力量
首页
  • html5
  • JavaScript
  • ES6
  • Vue
  • react
  • Node
  • PHP
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • ES6

  • vue

    • vue基础详解
    • vue组件与路由
    • 组件通信与插槽
    • MVC与MVVM
    • vuex状态管理
    • TypeScript基础
      • 1.前言
      • 2.搭建TypeScript 本地环境
      • 3.数据类型定义
        • 3.1 基本数据类型定义
        • 3.3 数组定义
        • 3.4 接口 定义 对象的类型
        • 3.5 对象数组 定义
        • 3.6 函数定义
        • 3.7 void 空类型
        • 3.8 any 类型
        • 3.9 类的定义
    • vue进阶
    • Vue3新特性
    • Vue修饰符
    • VueRoute钩子函数
    • history与hash
    • vue中文件导入&导出
  • h5

  • JavaScript

  • React

  • Git

  • webpack

  • js查漏补缺

  • uniapp

  • 组件封装

  • 前端
  • vue
comelong
2022-06-10
目录

TypeScript基础

# 1.前言

什么是typescript?

TypeScript简称TS TS和JS之间的关系其实就是Less/Sass和CSS之间的关系 就像Less/Sass是对CSS进行扩展一样, TS也是对JS进行扩展 就像Less/Sass最终会转换成CSS一样, 我们编写好的TS代码最终也会换成JS TypeScript是JavaScript的超集,因为它扩展了JavaScript,有JavaScript没有的东西。 硬要以父子类关系来说的话,TypeScript是JavaScript子类,继承的基础上去扩展。

为什么需要TypeScript?

简单来说就是因为JavaScript是弱类型, 很多错误只有在运行时才会被发现 而TypeScript提供了一套静态检测机制, 可以帮助我们在编译时就发现错误

TypeScript特点

支持最新的JavaScript新特特性 支持代码静态检查 支持诸如C,C++,Java,Go等后端语言中的特性 (枚举、泛型、类型转换、命名空间、声明文件、类、接口等)

# 2.搭建TypeScript 本地环境

  • 全局安装typeScript
npm i -g typescript
1
  • 安装ts-node
npm i -g ts-node
1
  • 初始化一个项目
tsc --init
1
  • 运行ts文件的编译命令[可以通过package.json 配置编译命令]
tsc index.ts
1

# 3.数据类型定义

# 3.1 基本数据类型定义

// 基本数据类型
let str:string="啦啦啦啦";
let num:number = 123;
let bool:boolean=true;
let nu:null = null;
let un:undefined = undefined;

console.log(str,num,bool,nu,un);    //啦啦啦啦 123 true null undefined
1
2
3
4
5
6
7
8

# 3.3 数组定义

let arr:string[]=['1','2','3','4'];
1
let arr1:Array<number> = [100,200,300];
1
let arr2:(string|number)[] = ['1',2,'3',4];
1

# 3.4 接口 定义 对象的类型

interface User{
    name:string,
    age:number,
}
let user1:User={name:"张麻子",age:40};
1
2
3
4
5

# 3.5 对象数组 定义

let list:(User)[] = [{name:"黄四郎",age:45},{name:"马邦德",age:44}]
1

# 3.6 函数定义

function sum(a:number,b:number):number{
    return a+b;
}
console.log(sum(100,200));
1
2
3
4

# 3.7 void 空类型

//函数没有返回值
const avg = (a:number,b:number,c:number):void=>{
    console.log(a+b+c);
}
avg(100,200,300)
1
2
3
4
5

# 3.8 any 类型

定义任何变量 可以赋值为任何数据类型

let num1:any=123;
num1='100';
console.log(num1);   
1
2
3

# 3.9 类的定义

class Person {
    //类的属性   类.属性---借鉴java 的概念 
    //常量
    public inhale:string ="吸气";
    //定义属性类型
    public name:string;
    public age:number;
    //类的构造器
    constructor(name:string,age:number){
        this.name = name
        this.age = age
    }
    //类的方法  
    //公有方法--实例的方法  实例.方法名()
    eat():string{
        return '吃饭....';
    }
    // 静态方法---类的方法  类名.方法名()
    static spend():number{
        return 5000000000;
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
编辑 (opens new window)
上次更新: 2023/01/18, 10:06:34
vuex状态管理
vue进阶

← vuex状态管理 vue进阶→

最近更新
01
Api接口
07-30
02
分页组件
07-06
03
mongodb
05-07
更多文章>
Theme by Vdoing | Copyright © 2019-2023 comelong | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式