TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!

这篇具有很好参考价值的文章主要介绍了TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!,typeScript,ES6,javaScript,javascript,typescript,前端,原力计划

🎬 岸边的风:个人主页

 🔥 个人专栏 :《 VUE 》 《 javaScript 》

⛺️ 生活的理想,就是为了理想的生活 !

TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!,typeScript,ES6,javaScript,javascript,typescript,前端,原力计划

 📚 前言

TypeScript:扩展JavaScript数据类型,赋予编程更强大的表达能力!

在现代Web开发中,TypeScript已经成为了一种备受欢迎的编程语言。它不仅继承了JavaScript的基本数据类型,例如number、string、boolean等,还引入了许多额外的类型,为开发者提供了更丰富和精确的类型系统。

除了常见的基本类型,TypeScript引入了any类型,允许变量在编译时具有任意类型,提供了更大的灵活性。而unknown类型则是一个更加安全的选项,用于处理未知类型的值,需要进行类型检查后才能使用

此外,TypeScript还引入了never类型,表示永远不会发生的类型,常用于处理异常情况或无法正常返回的函数。还有void类型,用于标识没有返回值的函数。

通过这些新增类型,TypeScript为开发者提供了更强大的表达能力和类型检查,大大减少了在运行时出现错误的可能性。它不仅提高了代码的可维护性和可读性,还加速了开发过程,为项目的健壮性和可靠性增添了保障。

因此,如果你想要在编程世界中拥有更强大的工具,并享受更高效的开发体验,不妨尝试一下TypeScript吧!

 

TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!,typeScript,ES6,javaScript,javascript,typescript,前端,原力计划

 📘 1. number

TypeScript中,所有的数字都是浮点数。这些数字的类型是number。下面是一些例子:

let decimal: number = 6; // 十进制
let hex: number = 0xf00d; // 十六进制
let binary: number = 0b1010; // 二进制
let octal: number = 0o744; // 八进制

📘 2. string

string类型表示文本数据。你可以使用单引号(')或双引号(")定义字符串,也可以使用反引号(`)定义模板字符串:

let color: string = "blue";
color = 'red';

let fullName: string = `Bob Bobbington`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ fullName }. I'll be ${ age + 1 } years old next month.`;

📘 3. boolean

boolean类型有两个值:truefalse

let isDone: boolean = false;

📘 4. Array

TypeScript中,数组类型有两种表达方式。一种是在元素类型后面加上 [],表示由此类型元素组成的一个数组。另一种方式是使用数组泛型,Array<元素类型>

let list: number[] = [1, 2, 3];
// 或
let list: Array<number> = [1, 2, 3];

📘 5. Tuple

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一对值分别为 stringnumber的元组:

let x: [string, number];
x = ['hello', 10]; // OK

以上是TypeScript的一些基本类型。在接下来的对话中,我们可以进一步讨论其他的TypeScript类型,比如枚举(enum)、nullundefinednevervoid以及对象类型。

📘 6. Enum

Enum是一种特殊的类型,它可以更容易地处理一组有名字的常量。在TypeScript中,enum的默认起始值是0,然后每个成员的值都会依次增加。你也可以手动为enum的成员指定值:

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

// 手动指定成员的数值
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;

📘 7. Null and Undefined

TypeScript中,undefinednull各自有自己的类型,分别是undefinednull。默认情况下,它们是所有类型的子类型。这意味着你可以把 nullundefined赋值给 number类型的变量。

然而,当你指定了--strictNullChecks标记,nullundefined只能赋值给void和它们各自的类型:

let u: undefined = undefined;
let n: null = null;

📘 8. Any

当你不确定一个变量应该是什么类型的时候,你可能需要用到 any 类型any类型的变量允许你对它进行任何操作,它就像是TypeScript类型系统的一个逃生窗口:

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

📘 9. Unknown

unknown类型TypeScript 3.0中引入的一种新类型,它是any类型对应的安全类型。unknown类型的变量只能被赋值给any类型unknown类型本身:

let value: unknown;

value = true;             // OK
value = 42;               // OK
value = "Hello World";    // OK
value = [];               // OK
value = {};               // OK

📘 10. Never

never类型表示的是那些永不存在的值的类型。例如,never类型是那些总是会抛出异常或者根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型:

function error(message: string): never {
    throw new Error(message);
}

📘 11. void

TypeScript中,void类型用于表示没有返回值的函数的返回类型。在JavaScript中,当一个函数没有返回任何值时,它会隐式地返回undefinedvoid类型就是用来表达这种情况的:

function warnUser(): void {
    console.log("This is my warning message");
}

在这个例子中,warnUser函数没有返回任何值,所以它的返回类型是void

需要注意的是,在TypeScript中,你可以声明一个void类型的变量,但是你只能为它赋予undefinednull(在非严格null检查模式下):

let unusable: void = undefined;

通常情况下,我们不会这样使用void类型,因为除了undefinednull之外,你不能将任何值赋给void类型的变量。

📘 12. 联合类型(Union Types)

TypeScript联合类型是一种将多种类型组合到一起的方式,表示一个值可以是多种类型之一。你可以使用管道符(|)来分隔每个类型。这可以让你在不确定一个值是什么类型的时候,为它选择多个可能的类型。

例如,假设我们有一个函数,这个函数的参数可以是number类型或者string类型

function display(input: string | number) {
    console.log(input);
}

在上面的函数中,我们声明了input参数可以是string类型或者number类型。你可以传递一个string类型或者number类型的值给display函数,而TypeScript编译器不会报错:

display(1); // OK
display("Hello"); // OK

你也可以将联合类型用于变量和属性。例如:

let variable: string | number;

variable = "Hello"; // OK
variable = 1; // OK

在上面的代码中,我们声明了variable可以是string类型或者number类型。然后我们可以安全地将一个字符串或者数字赋值给variable

联合类型在TypeScript中非常常用,因为它们可以帮助你编写更灵活的代码。

📘 13. 交叉类型(Intersection Types)

交叉类型是将多个类型合并为一个类型。这让我们可以把现有的多种类型叠加到一起获得所需的能力。它被定义为 Type1 & Type2 & Type3 & ... & TypeN。它包含了所需的所有类型的成员。

interface Part1 { 
  a: string;
}

interface Part2 { 
  b: number;
}

type Combined = Part1 & Part2;

let obj: Combined = { 
  a: 'hello',
  b: 42,
};

📘 14. 类型别名(Type Aliases)

类型别名是给一个类型起个新名字。类型别名有时和接口很相似,但可以作用于原始值,联合类型,交叉类型等任何我们需要手写的地方。

type MyBool = true | false;
type StringOrNumber = string | number;

📘 15. 字符串字面量类型(String Literal Types)

字符串字面量类型允许你指定字符串必须的固定值。在实践中,这种类型常与联合类型、类型别名和类型保护结合使用

type Easing = "ease-in" | "ease-out" | "ease-in-out";

class UIElement {
    animate(dx: number, dy: number, easing: Easing) {
        // ...
    }
}

let button = new UIElement();
button.animate(0, 0, "ease-in"); // OK
button.animate(0, 0, "uneasy");  // Error: "uneasy" is not allowed here

  📚 写在最后

总的来说,TypeScript是一个强大的编程语言,它结合了JavaScript的灵活性和动态特性,并扩展了静态类型检查和更丰富的功能,提供了更好的可维护性、可靠性和开发效率。对于Web开发者来说,学习和使用TypeScript将带来显著的好处,并推动项目的成功和发展。 

TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!,typeScript,ES6,javaScript,javascript,typescript,前端,原力计划文章来源地址https://www.toymoban.com/news/detail-706138.html

到了这里,关于TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • chatgpt赋能python:Python中如何取出字符串中的数字并赋予新的变量

    在 Python 中,我们经常需要处理字符串,其中可能包含多种类型的数据。当我们需要获取字符串中的数字时,该怎样做呢?本文将介绍取出字符串中的数字的方法,并赋予新的变量,以便后续使用。 第一种方法是使用循环遍历字符串,将字符串中的每个字符逐一比较,如果是

    2024年02月08日
    浏览(35)
  • TypeScript基础知识:高级数据类型

            TypeScript 是一种静态类型检查的 JavaScript 超集,它提供了许多强大的高级数据类型,可以帮助我们更好地定义和操作数据。本文将深入介绍 TypeScript 的高级数据类型,包括交叉类型、联合类型和映射类型,并通过示例代码演示它们的用法和优势。         交叉

    2024年01月17日
    浏览(39)
  • 操作技巧 | Revit中如何新建系统类型并赋予颜色?

    大家好,这里是行走的安利机---建模助手。 新建系统后,把材质赋予系统,以做出不同颜色的管道和风管系统,那么: Revit中如何新建系统类型并赋予颜色呢? 下面小编说下解决方案。 REVIT 具体解决办法如下 正常打开Revit自带的机械样板-  点击系统  -  绘制管道 ,在属性

    2023年04月09日
    浏览(26)
  • 基于 Redux + TypeScript 实现强类型检查和对 Json 的数据清理

    突然像是打通了任督二脉一样就用了 generics 搞定了之前一直用 any 实现的类型…… 关于 Redux 的部分,这里不多赘述,基本的实现都在这里:Redux Toolkit 调用 API 的四种方式 和 async thunk 解决 API 调用的依赖问题。 之前的实现方法是这个:TS 使用自动提示生成对象中的键,不过

    2024年02月14日
    浏览(23)
  • Elasticsearch中父子文档的关联:利用Join类型赋予文档的层级关系

    码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! Elasticsearch是一个强大的搜索引擎,它提供了丰富的功能来满足复杂的搜索需求。其中,父子索引类型的join功能是一个强大的工具,它允许我们在同一索引中创建具有层级关系的文档

    2024年04月15日
    浏览(34)
  • 【JAVA】数据类型,类型转换与提升,运算符,标识符命名规则

    🍉内容专 栏:【JAVA从0到入门】 🍉本文脉络:数据类型,类型转换与提升,运算符,标识符命名规则 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.12 目录  1. 字面常量 2. 数据类型:四类八种  3.类型转换 3.1 自动类型转换(隐式) 自动类型转换: 3.2 强制类型转换(显式) 强制类

    2024年02月15日
    浏览(38)
  • JavaScript中解锁Map和Set的力量

    🧑‍🎓 个人主页: 《爱蹦跶的大A阿》 🔥 当前正在更新专栏: 《VUE》 、《JavaScript保姆级教程》、《krpano》 ​  ​         ES6带来了Map和Set两个新的数据结构 - 它们分别用于存放键值对和唯一值。Map和Set提供了更优雅和高效的存取与操作数据的方式。本文将全面解析

    2024年01月17日
    浏览(28)
  • JavaScript引用数据类型(对象类型)和原始(基本)数据类型特点比较

    为讲解JavaScript引用数据类型(对象类型)和原始(基本)数据类型特点比较,需要先回顾JavaScript数据类型有哪些? 一)原始(primitive:原始、基本)数据类型,也称为原始值(primitive value),包括: 1.布尔值(Boolean),其字面值只有两个,分别是true和false。 2.null,Null类型

    2024年02月05日
    浏览(39)
  • JavaScript数据类型检测与数据类型转换详细解析与代码实例

    JavaScript是一种弱类型语言,因此在开发过程中,经常需要进行数据类型检测和数据类型转换。本文将详细介绍JavaScript中的数据类型检测和转换,并提供相关的代码实例。 一、数据类型检测 在JavaScript中,常用的数据类型有:数字、字符串、布尔值、null、undefined、对象和数组

    2024年02月05日
    浏览(42)
  • JavaScript 入门指南(二)JavaScript 的数据类型

    undefined 类型:只有一个值 undefined(未定义),它是一个保留字。表示变量虽然已经声明,但却没有赋值 number 类型:所有的整数和小数 注: NaN 是一个特殊的数字值( typeof NaN 的结果为 number ),是 not a number 的缩写,表示不是一个合法的数字。不是数字的字符串通过函数进

    2024年03月27日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包