• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

《一》大话 TypeScript 基本类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

——点击上方蓝色字体,关注我哦~——

前言: 本文章为 TypeScript 系列文章. 

旨在利用碎片时间快速入门 Typescript. 或重新温故 Typescript 查漏补缺.

在官方 api 的基础上, 加上一些日常使用的感想. 

如果感兴趣的话~ 欢迎关注, 后续持续推出文章. 

作为一个使用 TypeScript 很久很久很久的人来说, 真真切切感受到了 TypeScript 的魔法.

大大提高了代码的可维护性. 

方便代码重构(一个月重构一次, 半年重构6次,不是在重构的路上就是在重构……) 

文章列表: 

  • 《一》大话 TypeScript 基本类型

  • 《二》大话 Typescript 枚举

  • 《三》大话 Typescript 接口

  • …… 

基本类型

1.  javascript 类型 : 

Boolean Number String Array Funciton Object

Symbol undefined null

2. 补充类型 

void any never 元祖 枚举 高级类型

语法

(变量/函数): type   // [type 为上面的数据类型 ]

简单类型

let bool: boolean = true

let num: number = 111

let str: string = 'aaa'

let s1: stmbol = Symbol()

数组类型

有2种方式声明, 一种在元素类型后接上 [] ,如下: 

let arr1: number[] = [1,2,3]

一种使用数组泛型, Array<元素类型>.   如下: 

let arr2: Array<number>= [1,2,3]

如果我们希望数组里既有 number , 又有 string , 

只需要在泛型中加上 <number | string> 如下: 

let arr2: Array<number | string> = [1,2,3,'4']  

或者使用 元组的方式 

元组

作用: 限定数组的类型和个数

看例子:  第一个必须为 number ,第二个必须为 string , 只能有2个值, 不能超过2个

// 可以给该元祖添加新元素, 但不能 “越界” 访问

let tuple: [number , string] = [1 , '2']  

不能越界访问, 直接看例子 

let tuple: [number , string] = [1 , '2']

tuple.push('3'); //正常push

tuple[2]  //报错, 因为越界访问了

undefined null

如果一个值声明了 undefined , 则不能赋值给其他类型的值.

看例子:

let x:undefined = undefined; //正常

let y:undefined = '1'; //报错


同理, undefined 和 null 也不能赋值给其他类型. 如下: 

//报错, 如果 strictNullChecks 为 true

let h: number = undefined;

但是在项目中, 有些值, 他既支持 number 类型, 又得支持 undefined. 比如接口未返回来时, 可能需要使用 undefined 作为默认值, 等接口回来后再赋值. 如何支持这张场景?

  1. 在 tsconfig.json 中将 strictNullChecks 设置为 false 即可. [不推荐]

  2. 使用联合类型  [推荐]

let num: number | undefined |  null = 111 //正常

let num: number | undefined |  null = undefined //正常

void

一个没有任何返回的函数, 就用 void 

function warnUser(): void {}

any 类型

刚接触 typescript 的时候, 很容易就满处 any 大法, 一写 any , 啥报错都没了.

但是如果都使用 any ,那就没必要使用 ts 了 ????. 

黄金法则: 能不写 any 的场景, 就别写 any 

never


一般很少使用, 场景: 函数抛出错误 或 死循环时使用 never 

function error(message): never {

   throw new Error(message);

}

function infiniteLoop(): never {

   while (true) {

   }

}

总结: 

我们可以使用 (变量/函数): type 格式来声明类型. 

欢迎关注, 后续持续推出系列文章. 

最后

最后

- 欢迎加我微信(A18814127),拉你进技术群,长期交流学习...

- 欢迎关注「前端加加」,认真学前端,做个有专业的技术人...

扫描二维码

关注前端加加

我在这里等你呦~

原创不易,如果觉得有点用,希望可以随手转发或者”在看“,拜谢各位老铁。

点击在看


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
chrome插件:yapi接口TypeScript代码生成器发布时间:2022-07-18
下一篇:
7个好用的TypeScript新功能发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap