TypeScript 基础内容

TypeScript:

一.简介:

TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。TypeScript是为大型应用之开发而设计,而编译时它产生 JavaScript 以确保兼容性。

二. TypeScript与JavaScript区别:

TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。

TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译

TypeScript 的优势:

  1. 静态输入
  2. 大型的开发项目
  3. 更好的协作
  4. 更强的生产力

JavaScript 的优势:

  1. 人气
  2. 学习曲线
  3. 本地浏览器支持
  4. 不需要注释
  5. 灵活性

三. 开发环境:

1.下载Node.js

2.安装Node.js

3.使用npm全局安装typescript

  • 进入命令行
npm i -g typescript

4.创建一个ts文件
5.使用tsc对ts文件进行编译

  • 进入命令行
  • 进入ts文件所在目录
  • 执行命令:
tsc xxx.ts

四. 基本类型

(一).类型声明:

  • 类型声明是TS非常重要的一个特点

  • 通过类型声明可以指定TS中变量(参数、形参)的类型

  • 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错

  • 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值

  • 基本语法:

      let 变量:类型;
    
      let 变量:类型=值;
    
      function fn(参数:类型, 参数:类型):类型{
    	 ...
      }
    

(二). 基本类型:

类型描述
number任意数字
string任意字符串
boolean布尔值true或false
字面量限制变量的值就是该字面量的值
any任意类型
unknown类型安全的any
void没有值(或undefined)
never不能是任何值
object任意的JS对象
array任意JS数组
tuple元素,TS新增类型,固定长度数组
enum枚举,TS中新增类型

例如:

  • number

     let age: number;
     age = 21
     age="lalalaal" //此代码会报错,因为age为number类型,不能赋值字符串
     let hex: number = 0xf00d;
     let binary: number = 0b1010;
     let octal: number = 0o744;
     let big: bigint = 100n;
    
  • boolean

      let isBoolean:boolean ;
      isBoolean = false;
    
  • string

     let color: string = "blue";
     color = 'red';
     
     let fullName: string = `Bob Bobbington`;
     let age: number = 37;
     let sentence: string = `Hello, my name is ${fullName}.
    
  • 字面量

    也可以使用字面量去指定变量的类型,通过字面量可以确定变量的取值范围

     let color: string|number;
     color='red';
     color=true
     let num: 1 | 2 | 3 | 4 | 5;
     le
    
  • any :一个变量设置any后相当于关闭TS类型检测

     let d:any;
     d = 'hello';
     d = true;
    
  • unknown

     let notSure: unknown = 4;
     notSure = 'hello';
    

    :any和unknown区别:

    1. any可以给赋值给任何变量

    2. unknown不能直接赋值

       if(typeof e==="string "){
       	s = e;
       }
      
  • void

     let unable: void = undefined;
    
  • never

     function error(message: string): never {
       throw new Error(message);
     }
    
  • object(没啥用)

     let obj: object = {};
    
  • array

     let list: number[] = [1, 2, 3];
     let list: Array<number> = [1, 2, 3];
    
  • tuple

     let x: [string, number];
     x = ["hello", 10]; 
    
  • enum

     enum Color {
       Red,
       Green,
       Blue,
     }
     let c: Color = Color.Green;
     
     enum Color {
       Red = 1,
       Green,
       Blue,
     }
     let c: Color = Color.Green;
     
     enum Color {
       Red = 1,
       Green = 2,
       Blue = 4,
     }
     let c: Color = Color.Green;
    

(三).TS中函数赋值:

function:sum(a:"number",b:"number"){
	return a+b
}
let sum3 = sum(a:123,b:456)

(四). 类型断言:
通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”,你会比 TypeScript 更了解某个值的详细信息,你清楚的知道一个实体具有比它现有类型更确切的类型。

1.尖括号语法

let someValue: any = "this is a string";
// someValue 是any任何类型的实体,在具体应用的时候使用了断言 <string> someValue肯定是一个字符串类型
let strLength: number = (<string>someValue).length;

2.as 语法

let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;

总结:

TypeScript 正在成为开发大型编码项目的有力工具。因为其面向对象编程语言的结构保持了代码的清洁、一致和简单的调试.
TypeScript 增加了可选类型、类和模块.
TypeScript 支持开发大规模 JavaScript 应用.
TypeScript 设计用于开发大型应用,并保证编译后的 JavaScript 代码兼容性.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值