Typescript 基础易理解-------冲冲冲

目录

什么是Typescript?

JavaScript和TypeScript的区别?

TS的安装使用

TS内置数据类型(原始数据类型)​

类的使用

enum枚举

泛型


什么是Typescript?

TypeScript是一个强类型JavaScript超集可编译为纯JavaScript。它是一种用于应用级JavaScript开发的语言。(c#、Java就是强类型语言)

TypeScript可以在任何浏览器、主机和操作系统上执行。TypeScript不是直接在浏览器上运行的。它需要一个编译器来编译和生成JavaScript文件。TypeScript是带有一些附加特性的ES6 JavaScript版本。

 JavaScript和TypeScript的区别?

编号JavaScriptTypeScript
1它是由网景公司在1995年开发的。它是2012年由安德斯·海尔斯伯格(Anders Hejlsberg)开发的。
2JavaScript源文件在”.js”扩展。TypeScript源文件是”.ts”扩展名。
3它不支持强类型或静态类型。它支持强类型或静态类型特性。
4它只是一种脚本语言。它支持面向对象的编程概念,如类、接口、继承、泛型等。
5JavaScript没有可选的参数特性。TypeScript有可选的参数特性。
6它是解释语言,这就是为什么它在运行时突出显示错误。它编译代码并在开发期间突出显示错误。
7JavaScript不支持模块。TypeScript支持模块。
8在这里,number和string是对象。在这里,number和string是接口。
9JavaScript不支持泛型。TypeScript支持泛型。

TS的安装使用

安装命令:npm install -g typescript

demo👇 :

 

终端输入命令:tsc ts文件名     回车编译成js

终端再输入命令:node js文件名        就可以编译运行啦

自定义接口方式定义XianNv类型,再定义一个变量(XY)是XianNv这个类型。

命令:npm install -g ts-node        可替代tsc 和node两步骤

 

 
TS内置数据类型(原始数据类型)

 

 

 

类的使用

interface Stu {
  name: string;
  age: number;
  isGradute: boolean;
  sex?: string; //?: 意思是可选值
  say(): string;
}

class DaYe implements Stu {
  name = "凤凰火";
  age = 999;
  isGradute = true;
  say() {
    return "我是凤凰火";
  }
}
const ddd = new DaYe();
console.log(ddd.say());

const stu = {
  name: "XY",
  age: 22,
  isGradute: true,
  boolean: true,
  say() {
    return "希望我们都能平安健康!";
  },
};

const getGradute = (stu: Stu) => {
  stu.age <= 24 && stu.isGradute == true && console.log(stu.name + "顺利毕业");
  stu.age > 24 &&
    stu.isGradute == true &&
    console.log(stu.name + "还是顺利毕业");
  console.log(stu.say());
};
getGradute(stu);

class Person {
  content = "我是个人";
  sayHello() {
    return this.content;
  }
}
const baby = new Person();
console.log(baby.sayHello());

class Gost extends Person {
  sayHello() {
    // 继承父类里的方法,super
    return super.sayHello() + "哈哈哈哈";
  }
  sayAh() {
    return "我是鬼~";
  }
}
const aaa = new Gost();
console.log(aaa.sayAh());
console.log(aaa.sayHello());

终端输入命令:tsc -init 可生成ts配置文件tsconfig.json

enum枚举

 

泛型

//在函数中使用泛型
function join<XY>(first: XY, second: XY) {
  return `${first}${second}`;
}
console.log(join<string>("XY", "帅!"));

//泛型中数组的使用
function myArray<ANY>(params: Array<ANY>) {
  return params;
}
console.log(myArray<String>(["666", "999"]));

//工作中泛型很多是用<T>来表示
function myWork<T>(params: Array<T>) {
  return params;
}
console.log(myArray<String>(["123", "456"]));

//多个泛型一起使用
function many<T, P>(first: T, second: P) {
  return `${first}${second}`;
}
console.log(many<string, number>("XY", 666));

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值