【typescript入门手册】语法-类型注解

简介: 【typescript入门手册】语法-类型注解

TypeScript 基础语法

TypeScript 程序由以下几个部分组成:

  • 模块
  • 函数
  • 变量
  • 语句和表达式
  • 注释

第一个 TypeScript 程序

我们可以使用以下 TypeScript 程序来输出 "Hello World" :

Runoob.ts 文件代码:

const hello : string = "Hello World!"
console.log(hello)

以上代码首先通过tsc命令编译:

tsc Runoob.ts

得到如下 js 代码:

Runoob.js 文件代码:

varhello = "Hello World!"; console.log(hello);

最后我们使用 node 命令来执行该 js 代码。

node Runoob.js  // 输出 Hello World

整个流程如下图所示:

我们可以同时编译多个 ts 文件:

tsc file1.ts file2.ts file3.ts


TypeScript 与面向对象

面向对象是一种对现实世界理解和抽象的方法。

TypeScript 是一种面向对象的编程语言。

面向对象主要有两个概念:对象和类。

  • 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一 个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法是类的操作的实现步骤。

下图中girl、boy为类,而具体的每个人为该类的对象:

TypeScript 面向对象编程实例:

class Site { 
   name():void { 
      console.log("Runoob") 
   } 
} 
var obj = new Site(); 
obj.name();

以上实例定义了一个类 Site,该类有一个方法 name(),该方法在终端上输出字符串 Runoob。

new 关键字创建类的对象,该对象调用方法 name()。

编译后生成的 JavaScript 代码如下:

var Site = /** @class */ (function () {
    function Site() {
    }
    Site.prototype.name = function () {
        console.log("Runoob");
    };
    return Site;
}());
var obj = new Site();
obj.name();

执行以上 JavaScript 代码,输出结果如下:

Runoob


参考资料

https://ts.xcatliu.com/introduction/what-is-typescript.html

https://www.modb.pro/db/617658

https://www.runoob.com/typescript/ts-basic-syntax.html

基本类型

原数据类型


JavaScript中的数据类型,可分为两类:


1、原始数据类型(Primitive Data Types),指的是不能再细分修改的数据类型,JavaScript中有 6 种原始数据类型。


2、引用数据类型(Reference Data Types),存储多个值、或复杂对象数据类型,比如object


咱们介绍5种原始数据类型在typeScript中的应用


  • Boolean 布尔值
  • String 文本类型
  • Number  数字
  • Array  数组
  • Null 和 Undefined 空和未定义


在定义类似时,通过 : 声明数据类型,如:


定义一个布尔值


let a:string = '1';
let b:number = 123;
let c:null = null;
let d:undefined = undefined;
let e:Boolean = false
console.log(a,b,c,d,e)


特殊类型


any (任意值)


允许赋值给任意类型
原则上在typeScript中不允许修改数据类型,咱们可以声明变量 any 类型,使数据为任意类型。


let e:any = "yyds"
e = 666
console.log('any|e:',e)


类型推断


声明变量、未指定类型,默认是任意类型


在定义变量时未赋值,会进行类型推断的规则,推断出下一个类型,最终为any类型,如:


let something;
something = 'seven';
something = 7;
console.log(something)
// 打印输出 7


联合类型


联合类型(union Types) 定义一个变量,可以接收多种类型的值


举个例子,假设你有一个名为result的变量,你希望它可以保存数字或者字符串类型的值。你可以这样声明它的类型:


let result: number | string;


现在,result变量可以存储数字类型的值,也可以存储字符串类型的值。例如:


result = 42;       // 保存数字类型的值
result = "Hello";  // 保存字符串类型的值


使用联合类型,在类型声明中将这两种类型联合起来,表示该变量可以是其中任意一种类型。这就像是给变量指定了多个备选类型。

相关文章
|
4天前
|
JavaScript 安全 前端开发
TypeScript类型声明:基础与进阶
通过本文的介绍,我们详细探讨了TypeScript的基础与进阶类型声明。从基本数据类型到复杂的泛型和高级类型,TypeScript提供了丰富的工具来确保代码的类型安全和可维护性。掌握这些类型声明能够帮助开发者编写更加健壮和高效的代码,提高开发效率和代码质量。希望本文能为您在使用TypeScript时提供实用的参考和指导。
11 2
|
18天前
|
JavaScript 开发者
在 Babel 插件中使用 TypeScript 类型
【10月更文挑战第23天】可以在 Babel 插件中更有效地使用 TypeScript 类型,提高插件的开发效率和质量,减少潜在的类型错误。同时,也有助于提升代码的可理解性和可维护性,使插件的功能更易于扩展和升级。
|
29天前
|
JavaScript 前端开发
TypeScript【类型别名、泛型】超简洁教程!再也不用看臭又长的TypeScript文档了!
【10月更文挑战第11天】TypeScript【类型别名、泛型】超简洁教程!再也不用看臭又长的TypeScript文档了!
|
27天前
|
JavaScript 前端开发 安全
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
【10月更文挑战第12天】TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
79 0
TypeScript无缝衔接ArkTS:快速入门鸿蒙ArkTS基本语法
|
17天前
|
JavaScript 前端开发 安全
TypeScript进阶:类型系统与高级类型的应用
【10月更文挑战第25天】TypeScript作为JavaScript的超集,其类型系统是其核心特性之一。本文通过代码示例介绍了TypeScript的基本数据类型、联合类型、交叉类型、泛型和条件类型等高级类型的应用。这些特性不仅提高了代码的可读性和可维护性,还帮助开发者构建更健壮的应用程序。
22 0
|
2月前
|
JavaScript
typeScript进阶(9)_type类型别名
本文介绍了TypeScript中类型别名的概念和用法。类型别名使用`type`关键字定义,可以为现有类型起一个新的名字,使代码更加清晰易懂。文章通过具体示例展示了如何定义类型别名以及如何在函数中使用类型别名。
40 1
typeScript进阶(9)_type类型别名
|
1月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
45 0
|
1月前
|
JavaScript 前端开发 开发者
深入理解TypeScript:类型系统与实用技巧
【10月更文挑战第8天】深入理解TypeScript:类型系统与实用技巧
|
2月前
|
JavaScript
typeScript基础(5)_对象的类型-interfaces接口
本文介绍了TypeScript中接口(interfaces)的基本概念和用法,包括如何定义接口、接口的简单使用、自定义属性、以及如何使用`readonly`关键字定义只读属性。接口在TypeScript中是定义对象形状的重要方式,可以规定对象的必有属性、可选属性、自定义属性和只读属性。
40 1
|
2月前
|
存储 JavaScript
typeScript进阶(11)_元组类型
本文介绍了TypeScript中的元组(Tuple)类型,它是一种特殊的数组类型,可以存储不同类型的元素。文章通过示例展示了如何声明元组类型以及如何给元组赋值。元组类型在定义时需要指定数组中每一项的类型,且在赋值时必须满足这些类型约束。此外,还探讨了如何给元组类型添加额外的元素,这些元素必须符合元组类型中定义的类型联合。
47 0