前端-TypeScript

这篇具有很好参考价值的文章主要介绍了前端-TypeScript。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声明:我是一个后端的开发,只是比较感兴趣这个,如果有错误的地方请指正,但是不要喷我。

1.什么是TypeScript,即什么是TS

解释TS:可以理解为是JS的升级版本,众所众知,JS不像Java语言有类型的定义,所以编译器或者在编译的时候是没办法知道定义的类型是什么,是可以是数字类型的字符串等等。强类型可以规范代码,以及后期对代码的维护行更好。

2.使用它的好处是什么?

  1. 类型推演与类型匹配
  2. 开发编译时候会报错!!!
  3. 极大程度的避免了低级错误,定义方法和函数
  4. 支持JavaScript最新特性(包含ES6\7\8)
  5. 支持泛型

3.如何使用?

  1. 环境安装
npm install -g typescript
  1. 支持的数据类型
    基本类型:Boolean、String、number、array、tuple(元祖)、enum、null、undefined、object、void、never、any
    第一次听说这个类型元祖,就是固定长度固定类型的数组
    number: 并没有严格的区分整形和浮点类型

emum : 枚举类型

enum Color{
	Red = "#颜色码值",
	Green,
	Black
}
let color = Color.Red

高级类型:
union: 组合类型
Literal: 预定义类型-- 字面量类型 Nullable: 可空类型

let union : string | number

any 类型和 unknown
any 可以为任意类型,是对象是方法是任意
unknow 不保证类型,但是能保证类型安全。

let randomValue: unkonw = 666;
randomValue = true;
randomValue = "12312312eee"
randomValue = {}

if(typeof randomValue === 'function'){
	randomValue ()
}
if(typeof randomValue === 'string'){
	randomValue.toUpperCase()
}

void 、undefined 、never

// never : 一个函数永远执行不完
function throwError(message: string, errorCode: number): never{
	throw {
		message,errorCode
	}
}

适配类型(类型断言)Type Assertions

let message : any;
message = "ads";
// 本质上此处虽然赋值成字符串类型但本质上类型还是any,所以不能使用string 自带的函数库
// 有点类型Java中的强制类型转换
let d = (<string>message).endWith("s");

// 另一种转换方式
let d = (message as string ).endWith("s");

函数类型

let log = function(message) {
	console.log(message)
}

let log2 = (message) => {
	console.log(message)
}

// ? 标识参数是可选项 
let log3 = (message: string, code?: number) => {
	console.log(message)
}

// 如果?不传递值则输出undefined 可以给一个默认值
let log4 = (message: string, code: number = 0){
	console.log(message)
}

interface 和 class

// 这里的interface 有点类似Java的Class 定义了一个对象,而不是接口
interface Point {
	x: number;
	y: number;
}

let drawPoint = (point: Point) => {
	console.log({x: point.x, y: point.y});
}
interface Point {
// X 就不是不选项
	x?: number;
	y: number;
}
// 接口里面的任意属性
interface Person {
  name: string;
  age?:number;
  [propName: string]: any
}
// 接口里面的只读属性
interface Person {
  readonly id: number
  name: string;
  age?:number;
  [propName: string]: any
}
let tom: Person = {
	id: 8988,
	name: 'tom',
	job: 'Java工程师'
}
// 只读属性不能够重新赋值
tom.id = 48

访问修饰符

接口,类,类的构造函数,访问修饰符,泛型等基本都和Java中的大同小异,感觉前端也在像模块化,对象化靠拢。

在编译的时候更友好,报错信息更明显,代码调试起来更方便。如果是后端入手前端可能会更好入手,学习起来会更方便,更好理解,虽然语法上略有出入,但是还是大同小异。

TS里面的函数

// 一个函数有输入和输出,要在TypeScript 中对其约束,需要把输入和输出都考虑到,其中函数生命的类型定义比较简单
function sum(x: number, y: number): number {
	return x + y;
}

// 函数的可选参数以及 参数的默认值
// 必选参数不能位于可选参数后面 如果非要这么写的话可以在后面的参数追加一个默认值
function buldName(firstName: string, lastName?: string){
	if(lastName){
		return firstName + '' + lastName;
	}else{
		return firstName;
	}
}







TODO Webpack Nodejs react Vue etc.文章来源地址https://www.toymoban.com/news/detail-659205.html

到了这里,关于前端-TypeScript的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【面试题】 TypeScript 前端面试题 由浅到深

    1、前端面试题库 ( 面试必备 )             推荐:★★★★★ 地址:web前端面试题库 1.Boolean,Number,String 声明:类型 = 类型对应变量 类型收敛——字面量类型 2.undefined,null 在 TypeScript 中,null 与 undefined 类型都是有具体意义的类型。所以在默认情况下会被视作其他类型的

    2024年02月03日
    浏览(28)
  • 前端(六)——TypeScript在前端中的重要性与应用

    😊博主:小猫娃来啦 😊文章核心: TypeScript在前端中的重要性与应用 随着Web应用的复杂性不断增加,开发人员需要更强大的工具来应对这些挑战。TypeScript作为一种静态类型语言,满足了许多开发者对代码质量和可维护性的需求。下面我们将深入探讨TypeScript在前端中的定位

    2024年02月16日
    浏览(26)
  • 前端TypeScript学习day02-TS常用类型

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 TypeScript 常用类型 接口  元组  类型推论 类型断言 字面量类型 枚举 any 类型 typeof  当一个对象类型被多次使用时,一般会使用接口(interface)来描述对象的类型,达到

    2024年02月08日
    浏览(44)
  • 前端TypeScript学习day03-TS高级类型

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)            目录 TypeScript 高级类型 class 类 class继承  extends implements  类成员可见性  public  protected  private   readonly 兼容性 类型兼容性 接口兼容性  函数兼容性  TypeScri

    2024年02月08日
    浏览(27)
  • TypeScript在前端开发中的重要性

    近年来, TypeScript 在前端开发中的重要性逐渐得到认可。作为一种静态类型的 JavaScript 的超集, TypeScript 通过引入静态类型、接口、类等特性,为前端开发带来了许多优势。本文将探讨 TypeScript 在前端开发中的重要性,并通过代码论证其价值。 首先, TypeScript 通过引入静态类

    2024年02月11日
    浏览(29)
  • 前端TypeScript学习day04-交叉类型与泛型

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)            目录 交叉类型 泛型 创建泛型函数 调用泛型函数: 简化调用泛型函数: 泛型约束  指定更加具体的类型 添加约束  泛型接口  泛型类 泛型工具类型  Partial 

    2024年02月08日
    浏览(34)
  • TypeScript实战——ChatGPT前端自适应手机端,PC端

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家 :https://www.captainbed.cn/z 可以在线体验哦:体验地址 ChatGPT是由OpenAI开发的一种基于语言模型的对话系统。它是GPT(Generative Pre-trained Transformer)模型的一个变种,通过在大规模的互联网

    2024年02月04日
    浏览(31)
  • 【前端进阶】-TypeScript高级类型 | 交叉类型、索引签名类型、映射类型

    前言 博主主页👉🏻蜡笔雏田学代码 专栏链接👉🏻【TypeScript专栏】 上篇文章讲解了TypeScript部分高级类型 详细内容请阅读如下:🔽 【前端进阶】-TypeScript高级类型 | 类的初始化、构造函数、继承、成员可见性 今天来学习TypeScript另外一些高级类型! 感兴趣的小伙伴一起来

    2023年04月08日
    浏览(26)
  • 前端TypeScript学习day05-索引签名、映射与类型声明文件

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)              目录 索引签名类型  映射类型 索引查询(访问)类型 基本使用  同时查询多个索引的类型  TypeScript 类型声明文件  概述 TS 的两种文件类型  类型声明文件的

    2024年02月08日
    浏览(37)
  • 【wow-ts】前端学习笔记Typescript基础语法(一)

    项目地址是https://github.com/datawhalechina/wow-ts。 我选择的是ts前端课程 第一次接触ts,先去了解了下ts的内容,复制内容如下 TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 是一种给 JavaScript 添加特性的

    2024年01月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包