首页 > 其他分享 >【TS】九天学会TS语法——1.TypeScript 是什么

【TS】九天学会TS语法——1.TypeScript 是什么

时间:2024-11-06 15:16:56浏览次数:3  
标签:TypeScript name TS JS 类型 九天 string

今天学习的是TypeScript 基础,目标是了解 TypeScript 的基本概念,安装 TypeScript,编写第一个 TypeScript 程序。

  1. TypeScript 简介
  2. 安装 TypeScript
  3. TypeScript 编译过程
  4. 编写第一个 TypeScript 程序

随着前端开发的不断发展,TypeScript 已经成为现代前端开发中不可或缺的一部分。作为一名前端开发者,掌握 TypeScript 语法对于提高开发效率和代码质量具有重要意义。本文将介绍 TypeScript 的基本概念、安装方法、编译过程以及如何编写第一个 TypeScript 程序。

一、TypeScript 简介

在了解TypeScript(简称TS)是什么之前,首先得知道什么是JavaScript(简称JS)。

1.JavaScript引入

JS是一种用于网页开发的编程语言,它是一种动态的、弱类型的语言,广泛用于网页交互和动态效果的实现。

JavaScript最初是作为一种客户端脚本语言而开发的,用于在网页上实现交互功能,比如表单验证、动态内容更新、动画效果等。随着技术的发展,JavaScript也逐渐被应用于服务器端开发,例如Node.js。

2.TypeScript引入

TypeScript 是一种由微软开发的、基于 JavaScript 的开源编程语言。它为 JavaScript 添加了静态类型和面向对象编程特性,使得代码更加健壮、易于维护。TypeScript 提高了开发效率和代码质量,同时保持与 JavaScript 的兼容性。

TS 和 JS 之间的关系可以理解为“超集”与“子集”的关系。TS 是 JS 的一个超集,它包含了 JS 的所有特性,并且在此基础上增加了额外的特性,主要是静态类型系统

TS的静态类型系统:

一种在编译时检查代码中变量、函数、对象等的数据类型的方法。该类型检查发生在代码运行之前,因此称为“静态”类型检查。静态类型系统的主要目的是提高代码的可读性、可维护性和减少运行时错误。


TS 扩展了 JS  的语法,使其能够添加静态类型注解。这些类型注解在编译时提供额外的检查,帮助开发者捕获潜在的错误,提高代码的可维护性和可读性。TS 最终会被编译成纯 JS 代码,因此任何支持 JS 的环境都可以运行 TS 编译后的代码。

静态类型注解

 TS 中的一种特性,它允许开发者在代码中显式地指定变量、函数参数、函数返回值等的数据类型。

let message: string = "Hello, World!";

在这个例子中,message 变量被指定为 string 类型。如果尝试将一个非字符串值赋给 message,TS 编译器将会报错。

静态类型注解不仅限于基本类型,还可以用于更复杂的类型,如数组、元组、枚举、接口、自定义类型和泛型等。通过这些类型注解,TypeScript 编译器可以更准确地理解代码的结构和意图,从而提供更好的代码提示和错误检查。

总的来说,TS 是 JS 的一个超集,它为 JS 添加了类型安全和其他高级特性,同时保持了与 JS 的向后兼容性。


二、安装 TypeScript

首先确保已安装 Node.js 和 npm。

然后打开命令行工具,输入以下命令安装 TS :

npm install -g typescript

三、TypeScript 编译过程

TS 编译过程是将 TS 代码转换为 JS 代码的过程。以下是 TS 编译过程的步骤:

  1. 编写TS 代码,保存为 .ts 文件。
  2. 使用 TS 编译器(tsc)将 .ts 文件编译为 .js 文件。
  3. 在浏览器或 Node.js 环境中运行编译后的 .js 文件。

四、编写第一个 TypeScript 

下面是一个简单的 TypeScript 程序示例,展示了如何定义变量、函数和类。我们通过这个例子简单感受一下 TS 。

// 定义一个名为 message 的变量,并显式地为其指定类型为 string
let message: string = "Hello, TypeScript!";

// 定义一个名为 greet 的函数,它接受一个名为 name 的参数,该参数的类型被指定为 string
// 函数的返回类型也被指定为 string
function greet(name: string): string {
  // 使用模板字符串来构建并返回问候语
  return `Hello, ${name}!`;
}

// 定义一个名为 Person 的类,它具有一个名为 name 的属性,该属性的类型为 string
class Person {
  // 类的构造函数,它接受一个名为 name 的参数,并将其赋值给类的 name 属性
  constructor(name: string) {
    this.name = name;
  }

  // 定义一个名为 greet 的方法,它返回一个包含实例 name 属性的问候语
  greet() {
    return `Hello, my name is ${this.name}!`;
  }
}

// 使用变量 message,并打印其值
console.log(message);

// 调用函数 greet,传入字符串 "Alice" 作为参数,并打印返回的问候语
console.log(greet("Alice"));

// 创建一个 Person 类的实例,传入字符串 "Bob" 作为构造函数的参数
const person = new Person("Bob");

// 调用 person 实例的 greet 方法,并打印返回的问候语
console.log(person.greet());

标签:TypeScript,name,TS,JS,类型,九天,string
From: https://blog.csdn.net/m0_59873661/article/details/143565933

相关文章

  • 《古剑奇谭网络版》qt5widgets.dll文件丢失全方位解决方法大全
    《古剑奇谭网络版》是一款大型多人在线角色扮演游戏。如果在运行该游戏时遇到qt5widgets.dll文件丢失的错误提示,这通常意味着你的系统缺少了Qt框架中的一个必要组件。Qt是一个跨平台的应用程序开发框架,广泛用于图形用户界面(GUI)的创建。要解决qt5widgets.dll文件丢失的问题,你可......
  • 第一章 TypeScript 基础数据类型详解
    在TypeScript中,正确理解和使用各种数据类型是构建强大、类型安全的应用程序的关键。让我们深入了解TypeScript中的一些主要数据类型。一、变量声明使用`let`关键字可以定义变量。例如:leta:number=100;console.log(a);这里明确指定变量`a`的类型为`number`......
  • Bootstrap Blazor自定义图片预览组件
            BootstrapBlazor的官方虽然有提供图片预览组件ImagePreviewer,但是,它是置于窗口顶层的,而且是全屏显示,如果业务中有在预览组件中添加其它功能的需求,它是不支持扩展的。    为此,我参考官方的源码,自己写了一个自定义图片预览组件,文件的源码在下面,可自行......
  • C语言之输出函数printf以及puts
    printf和puts都是c语言的库函数,都可以输出的函数但他们也存在着一定的区别printf函数:1.功能强大:printf是一个格式化输出的函数,它可以输出各种类型的数据,并且能够按照指定的格式进行输出,例如会以10进制整数输出10。可以同时输入多组数据,灵活的控制输出的格式,如控制整数的......
  • Linux Ubuntu 20.04 LTS 解决无法输入中文 输入法问题
     卸载fcitxsogou输入法#彻底卸载sogou和fcitxsudoaptpurgesogoupinyinsudoaptpurgefcitxsudoaptautoremovesudoaptremovefcitx*sudoaptpurgefcitx*sudoaptautoremove#删除配置文件cd.config/rm-rfsogoupinyin/rm-rfibus安装&配置ibus-rime#安装ib......
  • WinNTSetup 使用教程的框架,您可以根据自己的需求深入研究每个部分,特别是集成驱动、应
    WinNTSetupv5.3.5.2-InstallWindowsfromUSB-MSFNWinNTSetup官方原版多国语言版下载链接:https://www.mediafire.com/folder/53um6k2nmhvd5/https://www.mediafire.com/file/rbpu88tre4nxwbe/WinNTSetup_v5352.rar/fileWinNTSetupv5352初级使用教程大纲引言WinNTSet......
  • SpringBoot源码解析(二):启动流程之引导上下文DefaultBootstrapContext
     SpringBoot的启动流程可以分为几个重要的步骤,其中之一是引导上下文(BootstrapContext)。引导上下文是在SpringBoot应用程序启动时创建的第一个Spring应用程序上下文,它负责加载和初始化SpringBoot的核心组件和配置。默认的引导上下文是通过DefaultBootstrapContext类来实现......
  • 基于Arcgis10.8+VS2019的ArcObjectsSDKNet安装
    基于Arcgis10.8+VS2019的ArcObjectsSDKNet安装首先Arcgis10.8和Arcgis10.8.1所需要的ArcObjectsSDKNet版本是不同的在使用10.8的ArcObjectsSDKNet在Arcgis10.8.1的基础上是安装不了的,会检测不到在安装Arcgis10.8的基础上,下载Arcgis10.8的ArcObjectsSDKNet,解压后进行安装连接......
  • python: Parent-child form operations using ttkbootstrap
    #encoding:utf-8#版權所有2024©塗聚文有限公司#許可資訊查看:言語成了邀功的功臣,還需要行爲每日來值班嗎?#描述:主、子表單窗體傳值Parent-childformoperations#Author:geovindu,GeovinDu塗聚文.#IDE:PyCharm2023.1python3.11#OS:......
  • 使用 requests 创建 Cookies 时遇到“系统不知道 filename 哪来的”错误,如何修复?
    在使用requests库创建Cookies时,开发者有时可能会遇到“系统不知道filename哪来的”这样的错误提示。这类错误通常与使用Cookies时的文件路径或文件名问题相关,尤其是在处理Cookie存储时,可能会产生一些文件系统的误解。本文将探讨此错误的产生原因,并提供相应的修复方法。......