Typescript学习笔记(2.0)

Typora笔记本,免费,方便,实用 专门用来总结记笔记的,你真的不需要吗? 阅读详情

ts编译选项

tsc  app.ts -w  

参数-w,就是对app.ts进行监视,每次该文件改变时就会自动编译

**:任意目录

*:任意文件

接口

接口用来定义一个类结构,用来定义一个类中应该包含哪些属性和方法,同时接口也可以当做类型声明去使用。

interface MyInterface{

name:string

age:number

}

使用此接口:const obj:MyInterface={

name:'mez',

age:11}

注意:接口是可以重复声明的。

interface MyInterface{

gender:string

}

这样两个同名接口存在的话等价于:

interface MyInterface{

gender:string

name:string

age:number

}

接口可以再定义类的时候去限制类的结构,接口中的所有属性都不能有实际的值,所以说,接口只考虑对象的接口,而不考虑其值,在接口中所有的方法都是抽象方法。

interface myTest{

name:string;

sayHello():void;

}

定义类时,可以使类去实现一个接口

class MyClass implements myTest{

name:string;

constructor(name:string){

this.name=name;

}

sayHello(){

console.log('大家好~~')

}

}

interface和abstract是TS中独有的,在编译后就看不到了。

属性的封装

(function(){
//定义一个表示人的类
class Person{
//可以用下划线的方式
//TS可以再属性钱添加属性的修饰符
//public:public修改的属性是可以任意修改的
//private:私有属性,只能再类内部进行修改
//通过再类中添加方法使得私有属性可以被外部访问
//protected:受保护的属性,只能在当前类和当前类中的子类中进行访问
private _gender:string;
name:string;
age:number;
constructor(name:string,age:number){
this.name=name
this.age=age
}
//getter方法用来读取属性
//setter方法用来修改属性
//定义方法,用来获取gender属性
getGender(){
return this._gender
}
//定义方法,用来设置gender属性
setGender(value:string){
//判断gender是否合法
if(value=='男' || value=='女'){
    this._gender=value
}

}
}
const per =new Person(name:'孙悟空',age:18)

//现在属性是再对象中设置的,可以任意的被修改
//比如
person.name='mez';

//但是会存在一个问题,name和age都可以修改,但是当存在不可控的数据时,是非常危险的

//TS中设置getter方法的方式
get gender(){
return this._gender
}
//这样的话就可以直接使用.gender即可

set gender(value:string){
this._gender=value
}
//可以直接执行
per.gender='男'

//可以直接将属性定义在构造函数中
class C{
constructor(public name:string){}
}
//等价于
class C{
constructor(name:string){
this.name=name
}
}
})()

泛型

//在不知道参数的类型时,就可以使用泛型

function fn(a:  ??): ?? {
return a

}

//定义函数或类时,遇到不明确的就可以使用泛型
function fn<T>(a:T):T{
 return a;
}

//只有在函数执行的时候才能确定T的类型

//可以直接调用具有泛型的函数
fn(a:10)  //此时number赋值给了T   //类型推断为number

fn<string>(a:'hello')  //手动指定类型,防止在不能自动推断出类型的情况

function fn2<T,K>(a:T,b:K):T{
console.log(b);
return a}

fn2<number,string>(a:123,b:'hello')

interface Inter{
length:number;
}
//T extends Inter  表示泛型T必须是Inter实现类
function fn3<T extends Inter>(a:T):number{
    return a.length;
}
fn3('123')//不正确
fn3(123)//正确

class Myclass<T>{
name:T;
constructor(name:T){
this.name=name
}}
const mc=new Myclass<string>(name:'aaa')

Vue2.0用TypeScript+vuex重构项目 Vue2.0用TypeScript+vuex重构项目 不得不说现在前端的技术更新越来越快了,一不学习就要给这个大环境淘汰了。 Typescript是javascript的超集。本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。其中我认为最重要的就是静态类型检查了。 写程序时项目若没有良好的设计思想,用js写的话就会“重构火葬场”。 话不多说,直接干货: 写在前面 Vue我已经学习了一个学... 阅读详情

相关推荐

TypeScript笔记

TypeScript概述:什么是 TypeScript? TypeScript的优点;JavaScript、TypeScript、ES6三者之间的联系 和区别 ;快速上手TypeScript ;

typescript

作者笔记github 第一章 快速入门 0、TypeScript简介 TypeScript是JavaScript的超集。 它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。 TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。 TS完全兼容JS,换言之,任何的JS代码都可以直接当成JS使用。 相较于JS而言,TS拥有了静态类型,更加严格的语法,更强大的功能;TS可以在代码执行前就完成代码的检查,减小了运行时异常的出现的几率;TS代码可以编译为任意版本的JS代码,可有效解决不同

qq_43817164的博客 395

ADS学习笔记 2. 低噪声放大器设计

ADS学习笔记 2. 低噪声放大器设计。设计了一个中心频率433MHz,增益18.206dB,NF=0.134dB,S11带宽较好的低噪声放大器

u014087103的博客 9509

TypeScript 学习笔记(三)- type、typeof、keyof

介绍一些TS相关的基础知识。 一、type type 用于定义类型,常用于定义类型别名,类型别名就是用来给一个类型起个新名字, 类型别名常用于联合类型。 type Name = string; type Age =number ; type NameOrAge = Name | Age; // type NameOrAge = string | number; 几乎 interface 的所有特性 type都有, type与interface 核心的区别在于 type 一旦定义就不能再添加新的属性,

kelly0721的博客 2478

泛微E9与金蝶云星空单点登录集成实战指南

本文详细介绍了泛微E9与金蝶云星空单点登录(SSO)集成的实战指南,包括前期准备、核心代码实现、常见问题排查及安全加固建议。通过集成,企业可实现一次登录全网通行,显著提升工作效率和安全性。文章特别强调了签名生成机制和跳转URL构造的关键技巧,帮助开发者避免常见错误。

weixin_30689307的博客 535

Flotherm XT学习历程

大家好,通过半年的热仿真软件学习使用,最终发现最好用,最好上手的软件就是Flotherm XT,对新手非常友好,但由于软件近几年才发布,网上教程非常少,后面我将在这里持续分析软件使用心得,和大家一起学习。

xiaoredred的博客 6264

TypeScript 学习笔记(详细版)

初学 TypeScript一.初始二.介绍 TypeScript 一.初始 二.介绍 TypeScript 1.TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。 2.TypeScript 由微软开发的自由和开源的编程语言。 3.TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。 ...

weixin_50313248的博客 3794

Unity-Chan Toon Shader卡通渲染学习

2.0 (UTS2)是一款用于图像和视频的卡通着色器,旨在满足从事卡通着色 3DCG 动画的创作者的需求。二、从0-1复刻UTS21.漫反射UTS2的漫反射部分主要有三个层组成,分别是基本颜色、第一阴影色和第二阴影色,分别对应着美术理论中的白、灰、黑。

qq_63133691的博客 2542

typescript 学习笔记

TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。TypeScript 由微软开发的自由和开源的编程语言。TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。

nihaio25的博客 1408

RTX 50系显卡(5080/5090D)CUDA 12.8环境下的vLLM部署避坑与实战指南

本文为RTX 5080/5090D显卡用户提供了在CUDA 12.8环境下部署vLLM的完整实战指南。文章详细介绍了从驱动安装、CUDA 12.8环境配置、PyTorch Nightly版本精准匹配,到vLLM源码编译及常见报错排查的全过程,帮助开发者高效利用新一代硬件进行大模型推理。

gray5的博客 670

Win11专业版破解RDP限制:实现多用户远程桌面协同办公

本文详细介绍了如何在Windows 11专业版上破解RDP限制,实现多用户远程桌面协同办公。通过使用RDPWrap工具,用户可以绕过微软的授权限制,允许多个用户同时登录同一台电脑,提高硬件利用率和团队协作效率。文章包含详细的安装配置步骤、性能优化技巧及常见问题解决方案,适用于需要远程协作的办公场景。

weixin_33806300的博客 467

AngularJs2.0学习笔记0 :使用webstorm实现基于typescript 的quickstart 例程调试

根据教程中,创建好文件架结构和必要的文件后,测试可以通过npm start进行hello world的显示。由于看到webstrom支持typescrict的编译,于是尝试使用webstorm实现教程中的调试流程。基于webstorm2016.1,只需要进行简单的设置即可:         step1:导入已经存在的文件夹。file->open->选择文件夹即可         step2:开

远航的博客 580

C# 上位机高级功能实战:报警、历史回放与远程监控

本文介绍了工业上位机系统的高级功能实现,主要包括实时报警机制、历史数据回放和远程监控三部分。报警功能通过阈值检测实现异常提醒;历史回放利用数据库存储数据,通过定时器控制回放进度;远程监控提供TCP、WebSocket等多种数据传输方式。文章还给出了综合优化建议,如异步处理、报警去抖动等,最终形成一个包含数据采集、显示、存储、报表及高级功能的完整工业自动化闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 753

TypeScript及TypeScript在vue3.0项目中的基本使用

一、 TypeScript是什么 TypeScript 是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对 ES6的支持。它是JavaScript的一个超集,扩展了JavaScript的 语法,因此现有的 JavaScript 代码可与TypeScript 一起工作无需任何修改。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript可以运行在任何浏览器上。 TypeScript 是 Angular2、vue3的开发语言

Jeasu_0908的博客 2万+

基于Pascal VOC数据集的YOLOv8目标检测系统实现:人、鸟、猫、牛、电视、车等20类目标识别与UI界面部署全流程详解

VOC 2007、VOC 2012 两个主要版本;每个图像提供 bounding box(目标框)+ 目标类别;共计 20 类,所有图像手工标注,质量高。完整复现 Pascal VOC 20类检测任务成功训练 YOLOv8 模型实现可视化 UI + 实时检测系统支持多平台部署和演示。

YOLO 771

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TypeScript 2.0 正式发布

9 月 22 日,TypeScript 2.0 正式发布了。 TypeScript 是微软开发的开源的编程语言,主要负责人是 C# 之父 Anders Hejlsberg。 TypeScript 成功将 JavaScript 的潜能与静态类型结合了起来,而且编译为 JavaScript。编译时类型检查可以避免很多潜在的 Bug,而且 TypeSc

dotNET跨平台 665

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TypeScript 学习笔记

本博客记录了学习TypeScript的过程。涵盖了TypeScript的基础知识、高级特性以及实用工具。内容包括TypeScript的安装与配置、基本语法、类型系统、函数和类的使用、模块化开发等。

Alex_CYX的博客 1509

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

vue3.0加上Typescript

vue3.0加上Typescript 1、使用npm或者yarn进行vue项目的搭建 //创建项目 vue create test cd test //下载依赖 npm install axios //或者 yarn add axios //启动项目 npm run serve //或者 yarn serve //项目打包 npm run build //或者 yarn build 创建好项目之后,使用vue3.0的特性进行项目构建,vue3.0中引入了一个setup()函数进行统一管理vue的data、

enhengcys的博客 3923

TypeScript OAuth2.0 Server —— 安全、标准的授权服务器实现

TypeScript OAuth2.0 Server —— 安全、标准的授权服务器实现 TypeScript OAuth2.0 Server 是一个完全功能化、安全且符合标准的 OAuth 2.0 授权服务器实现,采用 TypeScript 编写。该项目为 Node.js 提供了一个强大的授权服务器解决方案。 1. 项目基础介绍与主要编程语言 该项目主要使用 TypeScript 编程语言,它为 ...

gitblog_00269的博客 1179

Vue3.0 和 TypeScript 学习笔记

本质是一个函数,把setup函数中使用的Composition API进行了封装类似于Vue2中的mixin自定义hook的优势:复用代码,让setup中的逻辑更清楚易懂1.TypeScript 是JS的超集,为JS添加了类型系统。相比于JS,开发体验更友好,提前发现错误,BUG更少,增加开发的幸福度。2.JavaScript的两个运行环境?node.js和浏览器3.TypeScript不能直接在浏览器或Node.js中执行4.如何将ts编译为js?

cpsxn的博客 964

TypeScript学习笔记

TypeScript学习笔记 基本类型 Boolean let is Done: boolean = false; Number let decimal: number = 6; String let color: string = "blue"; Template strings let fullName: string = `Bob Bobbington`; let age: ...

algzjh的博客 515

TypeScript 2.0 已发布

微软最近发布了TypeScript 2.0,该版本提供了简化的声明文件获取、Non-nullable类型,以及Readonly修饰符。 TypeScript项目经理Daniel Rosenwasser称,他们团队对于该版本“紧随ECMAScript规范,为JavaScript库和工具提供了更广泛的支持,并通过一个语言服务在各大编辑器中提供了一流的编辑体验”感到极为“兴奋”。

dotNET跨平台 303

Vue3.0马上就要来了,TypeScript学会了没?

大家都知道Vue的作者是尤雨溪,而像尤雨溪这种神级的开发者可能真的具有想改变世界的想法。而有的小伙伴可能要想:神也是人,改变世界也需要钱啊!而Vue既然是一款免费的框架,那它又是如何盈利的呢?首先Vue的发展很顺畅,其用户也非常活跃,并且也为众多的开发者创造了价值!大家可以假设一下:如果有一万个人在使用其框架,其中百分之一的人愿意每月给予作者10美元的赞助,其生存应该不会有太大问题。而Vue的用...

张培跃的个人博客 4841

尚硅谷TypeScript教程讲义文档分享和学习笔记分享

尚硅谷TypeScript教程讲义文档分享和学习笔记分享

m0_62516225的博客 1531
上一篇: Typescript学习笔记(1.0)
下一篇: CSS选择器
mez_Blog
mez_Blog 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄9年 1万+粉丝 346原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值