欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > TypeScript 开始学习 -接触的新东西

TypeScript 开始学习 -接触的新东西

2025/11/28 16:13:13 来源:https://blog.csdn.net/m0_53562074/article/details/144240196  浏览:    关键词:TypeScript 开始学习 -接触的新东西

目录

  • 语言类型
  • 类型总览
    • JavaScript 中的数据类型
    • TypeScript 中的数据类型
  • 定义类型
  • 断言
  • 索引签名
  • 泛型

语言类型

JS -> 弱类型
TS -> 强类型

TypeScript(TS)是一种强类型语言。‌这意味着在TypeScript中,变量和函数参数的类型必须在编译时明确指定,这有助于在开发过程中发现潜在的错误,并提高代码的可维护性和稳定性。‌

与TypeScript相对比,JavaScript(JS)是一种弱类型语言。在JavaScript中,变量的类型可以在运行时动态确定,这意味着在编写代码时不需要显式声明变量的类型,这可能导致运行时错误和难以调试的问题。

  • 强类型语言和弱类型语言的主要区别在于类型检查的时机和严格性:
    • 强类型语言‌:在编译时进行严格的类型检查,要求开发者在编写代码时明确指定变量的类型。这有助于提前发现潜在的错误,提高代码的质量和可维护性。‌
    • 弱类型语言‌:在运行时进行类型检查,允许在编写代码时不显式声明变量的类型。这可能导致运行时错误,调试难度较大。

类型总览

JavaScript 中的数据类型

① string
② number
③ boolean
④ nullundefined
⑥ bigint
⑦ symbol
⑧ object
备注:其中 object 包含: Array 、 Function 、 Date 、 Error 等......

TypeScript 中的数据类型

1. 上述所有 JavaScript 类型
2. 六个新类型:
① any
② unknown
③ never
④ void
⑤ tuple
⑥ enum
3. 两个⽤于⾃定义类型的⽅式:
① type
② interface

定义类型

let a: string //变量a只能存储字符串
let b: number //变量b只能存储数值
let c: boolean //变量c只能存储布尔值

断言

unknown 会强制开发者在使⽤之前进⾏类型检查,从⽽提供更强的类型安全性。

// 设置a的类型为unknown
let a: unknown
a = 'hello'
//第⼀种⽅式:加类型判断
if(typeof a === 'string'){x = aconsole.log(x)
}
//第⼆种⽅式:加断⾔
x = a as string
//第三种⽅式:加断⾔
x = <string>a

索引签名

索引签名: 允许定义对象可以具有任意数量的属性,这些属性的键和类型是可变的,
常⽤于:描述类型不确定的属性,(具有动态属性的对象)

// 限制person对象必须有name属性,可选age属性但值必须是数字,同时可以有任意数量、任意类型的其他属性
let person: {name: stringage?: number[key: string]: any // 【索引签名】,完全可以不⽤key这个单词,换成其他的也可以
}
// 赋值合法
person = {name:'张三',age:18,gender:'男'
}

泛型

代码中的 Array<string> 属于泛型,

let arr1: string[]
let arr2: Array<string>
arr1 = ['a','b','c']
arr2 = ['hello','world']

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词