Typescript学习笔记(1.0)

这篇具有很好参考价值的文章主要介绍了Typescript学习笔记(1.0)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

typescript是由微软开发的自由和开源的编程语言。

typescript是JavaScript的一个超集,就是说JavaScript的语法typescript全部支持,并且在JavaScript进行了扩充,并在JavaScript的基础上进行了变量、函数、返回值等类型限制。

首先,是安装typescript。因为他需要编译,需要首先安装Node.js。【安装nodejs进入官网下载msi文件点点点就可以安装,方式比较简单,不再介绍】

然后使用npm命令安装:npm i -g typescript

比较习惯的是这种安装方式,当然还有其他安装方式,这里就不再介绍。

创建第一个typescript文件

打开文本编辑器(记事本,vscode都可以),进行创建ts为后缀的文件:

/*
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-04 14:47:53
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-04 14:52:20
 * @FilePath: \vscode\ts\hello.ts
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
 */
console.log("mez,Hello!")
var a:string="123"

这里是ts文件,不能直接在浏览器看到结果,而是需要编译成js文件

Typescript学习笔记(1.0)

在vscode的控制台进行编译,生成了js文件

Typescript学习笔记(1.0) 

Typescript学习笔记(1.0) 

在ts文件里,我们将a加入了类型注解:string表示为变量a的类型为字符串类型,如果我们改成其他类型,在ts文件里面就会报错。

Typescript学习笔记(1.0) 

在安装了中文语言包的vscode就会出现中文指示,简直不要太方便。

这里需要注意,虽然在ts文件中出现了报错信息,但是我们如果要强制进行编译执行,还是会生成js文件的。

 接口

在这里我们使用一个接口,它描述了具有firstName和lastName字段的对象。在typescript中,如果两个类型其内部结构兼容,那么这两种类型兼容。这使我们实现一个接口,仅仅只需必要的结构形状,而不必有明确的implements子句。

/*
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-04 14:47:53
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-05 10:42:25
 * @FilePath: \vscode\ts\hello.ts
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
 */
console.log("mez,Hello!")
var a:string="123"

function greeter(person:string){
    return 'Hello,'+person;
}
var user="mez";
document.body.innerHTML=greeter(user);

interface Person{
    firstName:string;
    lastName:string;
}

function greeter2(person:Person){
    return "Hello, "+person.firstName+""+person.lastName;
}

var user2={firstName:"Mei",lastName:"EZ"};
document.body.innerHTML=greeter2(user2)

最后,让我们最后一次使用类来继续开发demo。typescript支持新的JavaScript特性,像基于类的面向对象编程的支持。

在这里,我们创建一个具有构造函数和一些公共字段的Student类。

此外,在构造函数参数中使用public是一种简写形式,它将自动创建具有该名称的属性。

/*
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-04 14:47:53
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-05 10:59:50
 * @FilePath: \vscode\ts\hello.ts
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
 */
console.log("mez,Hello!")
var a:string="123"

function greeter(person:string){
    return 'Hello,'+person;
}
var user="mez";
document.body.innerHTML=greeter(user);

interface Person{
    firstName:string;
    lastName:string;
}

function greeter2(person:Person){
    return "Hello, "+person.firstName+""+person.lastName;
}

var user2={firstName:"Mei",lastName:"EZ"};
document.body.innerHTML=greeter2(user2)
//******************** 
class Student3{
    fullName:string;
    constructor(public firstName,public middleInitial,public lastName){
        this.fullName=firstName+" "+middleInitial+" "+lastName;
    }
}
interface Person3{
    firstName:string;
    lastName:string;
}
function greeter3(person:Person){
    return "Hello," +person.firstName+" "+person.lastName;
}
var user3=new Student3("Zhangsan","L.",+"Lisi");
document.body.innerHTML=greeter3(user3);

运行typescript web应用程序

流程为:将ts文件编译成js文件,然后新建HTML文件,引入js文件

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-05 15:15:01
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-05 15:15:23
 * @FilePath: \vscode\ts\test.html
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="hello.js"></script>
</body>
</html>

Typescript学习笔记(1.0)

 文章来源地址https://www.toymoban.com/news/detail-408446.html

到了这里,关于Typescript学习笔记(1.0)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • TypeScript学习笔记

    let num [ :number ] = 10; // 以冒号加类型的方式,声明变量 1.2.1 基本类型 1 number 2 string 3 boolean 4 null 5 undifined 1 数值 number  let num : number = 10;  二进制 = 0b 1010; 八进制 = 0o 18; 十六进制 = 0x abc; 2 字符串 string 例 let str: string = \\\'abc\\\'; 3 布尔 boolean // let flag: boolean = true; 4 空 null // let nul:

    2024年02月12日
    浏览(26)
  • TypeScript 学习笔记(一):类型

    TS中实现对象属性必选、对象属性在开发过程中十分常见,前端在传参数时,有些参数比必传,有些是选传,我们可以定一个多个对象来实现传参,但是这让代码变得冗余。我们可以通过TS定义数据类型来实现。 TypeScript中文网 1. 数组 2. 布尔 3. 数值 当我们给num赋值为123但没有

    2024年02月13日
    浏览(29)
  • 【TypeScript】基础知识学习笔记

    TypeScript的特点: JavaScript的超集,满足所有的JS语法 含有面向对象的静态类型 起步安装:1、npm i typescript -g 2、tsc 文件名 一、TS的基本数据类型 基本数据类型:number、boolean、string、undefined、null、symbol、bigint、void 当中的类型有大小写的区分:大写的类型是给对象使用,小写

    2024年02月09日
    浏览(47)
  • TypeScript 学习笔记(七):条件类型

    TS中的条件类型就是在类型中添加条件分支,以支持更加灵活的泛型,满足更多的使用场景。内置条件类型是TS内部封装好的一些类型处理,使用起来更加便利。 当T类型可以赋值给U类型时,则返回X类型,否则返回Y类型。 T U X Y 四个是占位符,分别表示四种类型; T extends U

    2024年02月17日
    浏览(29)
  • TypeScript 学习笔记(四):类型守卫

    类型守卫的作用在于触发类型缩小。实际上,它还可以用来区分类型集合中的不同成员 类型守卫包括switch、字面量恒等、typeof、instanceof、in 和自定义类型守卫 简单说当一个类型是多种可能时例如’any’,‘unknown’,‘联合类型’ 等在逻辑判断时候要具体到其唯一子集可能性

    2024年02月15日
    浏览(48)
  • TypeScript学习笔记以及学习中遇到的问题

    本笔记是来自翻阅xcatliu的typeScript入门教程文档、TypeScript官方文档的部分摘录、以及观看B站学习视频进行笔记记录与知识点补充、本人实际使用时遇到的问题与解决记录、碎片化接触到相关知识点合并整理而成 TypeScript 的命令行工具安装方法如下: 以上命令会在全局环境下

    2023年04月24日
    浏览(40)
  • [学习笔记]TypeScript查缺补漏(一):类

    类既可以作为类型使用,也可以作为值使用。 JSDoc 是 JavaScript 的一种注释规范,它使用特定的注释格式来自动生成 API 文档。JSDoc 通过注释来提取信息,例如函数名、参数类型和返回类型等,然后使用这些信息生成人类可读的文档。 示例: 在这个例子中,/** 开始一个多行注

    2024年02月06日
    浏览(32)
  • TypeScript 学习笔记(六):索引签名类型、映射类型

    keyof 可以用于获取某种类型的所有键,其返回类型是联合类型。 keyof 与 Object.keys 略有相似,只不过 keyof 取 interface 的键 通过例子可以看到,这里的keyof Info其实相当于\\\"name\\\" | “age”。通过和泛型结合使用,TS 就可以检查使用了动态属性名的代码: 接口 基本数据类型 类 如果

    2024年02月17日
    浏览(35)
  • Vite+Typescript+Vue3学习笔记

    1.1、创建项目(yarn) 1.2、项目配置 1、配置vue文件识别 vite默认情况下不识别.vue后缀的文件,需在vite-env.d.ts配置下 2、Api选择 Vue3推荐使用Composition API,这里关闭Vue2的Option Api 1.3、常用依赖 1、@types/node ts需安装node的类型,否则使用node相关会提示找不到 2、auto-import 用于简化Vu

    2024年02月15日
    浏览(32)
  • TypeScript 学习笔记(二):接口与类型别名、字面量类型

    在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些

    2024年02月16日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包