1. 定义变量
// 将b赋值为 hello,只能是 hello或者 wowrld
let b : "hello" | "world"

// 设置变量c只能为number 或者string类型
let c: number | string
c = 'true'

// 显式和隐式 any, 如果
let d : any
let e
如果不确定类型那么最好用unknown
let f : unknown
// 将 类型未unknown的值赋值给 string的值的时候,需要进行类型判断,否则会报错
let g : string
if( typeof f === 'string') {
g = f
}
// 类型断言,告诉解析器变量的实际类型
g = f as string
g = <string>f
'
// 必须有name属性
let c2 : {name: string, [propName: string]: any}

// 定义一个e2, 希望有两个参数,一个是number类型一个是string,返回值是一个string类型
// 设置函数的结构类型声明
let e2 : (a:number, b : string) => string
e2 = function(a: number, b: string) {
return a + b
}
console.log(e2(1, 'numberdsfd'));

// 声明 number类型的数组
let f2 : Array<number>
f2 = [1, 2, 3]
console.log(f2);

// 元祖就是固定长度的数组
let h2 : [string, number]
h2 = ['22', 122]0

2. 类
属性
class Person{
// 实例属性。只有new 了实例后才能访问到属性。
name: string = 'cjk';
age : number = 12
// 类属性, 通过Person.age 直接访问。可以使用static 创建静态属性
static car: string = '宝马'
// 实例属性可以随便更改,但是类属性是固定的。
}
在构造函数中,this指向当前实例,谁创建的this就是指向谁

ts-基础的更多相关文章

  1. TS基础应用 & Hook中的TS

    说在前面 本文难度偏中下,涉及到的点大多为如何在项目中合理应用ts,小部分会涉及一些原理,受众面较广,有无TS基础均可放心食用. **>>>> 阅完本文,您可能会收获到< ...

  2. TS基础笔记

    TS优势 更好的错误的提示,开发中及时发现问题:编辑器语法提示更完善:类型声明可以看出数据结构的语义,可读性更好; TS环境搭建 1.安装node;2.npm install typescript@3 ...

  3. ts --基础类型

    声明js的基本类型1.数字let a: number = 2; 2.字符串let aa: string = "22" 3.数组 (1) 数组元素: let b: number[] ...

  4. TS 基础数据类型

    1.基础数据类型 Boolean布尔值   Number数字 String字符串  Array数组 Tuple元组  Enum枚举   Any    void Boolean布尔值:true/fals ...

  5. Ts基础

    //typeof 用来判断变量类型 var s: string = 'egret'; var isString: boolean = typeof s === 'string'; console.lo ...

  6. ts基础(1)

    // let num:number = 12; // let boo:boolean = true; // let str:string = "adfd"; // str = 'a ...

  7. TS学习随笔(一)->安装和基本数据类型

    去年学过一段时间的TS,但由于在工作中不常用.就生疏了,最近项目要求用TS,那我就再回去搞搞TS,写一篇记录一下自己学习TS的进度以及TS知识点 首先,关于TS的定义我就不在这描述了,想看百度一下你就 ...

  8. TS学习

    随着vue3.0的即将到来,是时候学习一下TS了 简介:TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类 ...

  9. create-react-app的TS支持以及css模块化

    开始: 利用官方脚手架,搭建react工程.参考:https://react.docschina.org/docs/create-a-new-react-app.html. 过程: 1.暴露webpa ...

  10. (二) 从Angular1到Angular2需要的预备知识

    1. TypeScript语法与ES6新特性 写惯了jQ的话突然从ES5跳到ES6,又是个变形的ES6(TypeScript),学习成本确实不低.不过笔者也是从ng1直接上手ng2,对与很多新特性的积 ...

随机推荐

  1. angularIonic CLI环境搭建安装以及栅格响应式布局

  2. odoo中的字段创建后,不可以编辑

  3. Markdown快速入门——我不学 甚至没这篇文章

    Markdown快速入门---我不学甚至没这篇文章 写在前 俗话说:"工欲善其事,必先利其器".那么码字前,自然是要找到合适的工具.我这里就选用了VSCode+Markdown.( ...

  4. Docker+nginx部署前后端分离项目

    1.下载Docker和Docker-Compose 1.安装Docker 记一次踩坑:误装podman-docker 问题概述:Centos8去下载Docker时,默认装的是podman-docker ...

  5. 读Java8函数式编程笔记01_Lambda表达式

    1. Java 8函数式编程 1.1. 没有单子 1.2. 没有语言层面的惰性求值 1.3. 没有为不可变性提供额外支持 1.4. 集合类可以拥有一些额外的方法:default方法 2. 现实世界中, ...

  6. 基于AS2协议的EDI 系统

    一款由JAVA语言开发的基于AS2 协议的EDI 轻量级系统 优点如下: 1.价格便宜.目前市场上一条gateway线路动辄数万,甚至数万/年. 2.功能强大.功能可以与主流EDI 软件媲美. 3.可 ...

  7. 【随笔记】NDK 编译开源库 jsoncpp

    下载并解压源码 wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.4.tar.gz -O jsoncp ...

  8. 10月26日内容总结——第三方模块下载与requests、openpyxl模块

    目录 一.第三方模块的下载与使用 下载第三方模块的方式一:pip工具 部分错误解决案例: 下载第三方模块的方式二:pycharm中下载 pip仓库地址 二.网络爬虫模块之requests模块 1.ge ...

  9. rpmbuild时为什么会出现空的debugsourcefiles.list?

    错误: 空 %file 文件 /home/user/rpmbuild/BUILD/xxxx-0.1/debugsourcefiles.list 你看错误的里边有一个%file,这是使用spec文件构建 ...

  10. 学习Java Day29

    今天学习了类的设计技巧: 1.一定要保证数据私有 2.一定要对数据初始化 3.不要在类中使用过多的基本类型 4.不是所有的字段都需要单独的字段访问器和字段更改器 5.分解有过多职责的类 6.类名和方法 ...