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. 万字详解,吃透 MongoDB!

    本文已经收录进 JavaGuide(「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识.) 少部分内容参考了 MongoDB 官方文档的描述,在此说明一下. MongoDB ...

  2. effective-c 条款2理解与思考

    尽量使用const,enum,inline替换 #define 因为,#define 替换发生在预处理阶段,编译器对这个替换内容就缺少了类型检测,并且不利于错误信息的查看 编译器再声明数组时必须知道数 ...

  3. Random概述和基本使用-Random生成指定范围的随机数

    Random概述和基本使用 什么是Random类 此类的实例用于生成伪随机数. 例如,以下代码使用户能够得到一个随机数: Random r = new Random(); int i = r.next ...

  4. python开发简单的命令行工具

    介绍 Python模块argparse,这是一个命令行选项,参数和子命令的解释器,使用该模块可以编写友好的命令行工具,在程序中定义好需要的参数,argparse将弄清楚如何解析 sys.argv中的参 ...

  5. ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析

    目录 建表语法 查询和插入数据 数据处理逻辑 ClickHouse相关资料分享 AggregatingMergeTree引擎继承自 MergeTree,并改变了数据片段的合并逻辑.ClickHouse ...

  6. 如何在 C# 项目中链接一个文件夹下的所有文件

    在 C# 项目中通过链接方式引入文件可以让我们在项目中使用这些文件中的代码.常见的比如链接 AssemblyInfo.cs 文件,这样我们就可以在项目中使用这个文件中的版本号等信息.但是如果我们想要链 ...

  7. NetCoreWebApi3.0-------MiniProfiler使用教程

    参考博客:ASP.NET Core WebAPI中的分析工具MiniProfiler - LamondLu - 博客园 (cnblogs.com) 注意事项: 1.不要盲目copy别人的代码 var ...

  8. quasar打包时:Module not found: Can't resolve imported dependency "dayjs/plugin/customParseFormat"

    运行quasar build -m electron 后,报错如下: 看了这篇webpack 编译 element-plus 报错后,找到了报错的根源所在 于是,在quasar官方文档找到了针对web ...

  9. Centos7-RAID冗余磁盘阵列

    转载csdn: Centos7-RAID冗余磁盘阵列_黏住你不让你的博客-CSDN博客

  10. 血药谷浓度能否区分经TNF拮抗剂诱导获得缓解和低活动度的RA患者

    血药谷浓度能否区分经TNF拮抗剂诱导获得缓解和低活动度的RA患者? Sanmarti R, et al. EULAR 2015. Present ID: FRI0133. 原文 译文 FRI0133 ...