typescript基础类型

布尔值
Boolean

let isDone:boolean=false;

数字
Number

let decLiteral:number=6;
let hexLiteral:number=0xf00d;

字符串
String

let name:string="bob";
name="smith";

模版字符串
template

let name:string=`Gene`;
let age:number=37;
let sentence:string=`Hello,my name is ${name}`;

与下面的类似
Similar to the following

let sentence:string="Hello,my name is"+name;

数组
Array

let list:number[]=[1,2,3];

数组范型
Array paradigm

let list:Array<number>=[1,2,3];

元组类型允许表示一个已知元素数量和类型的数组,各元素类型不必相同
Tuple types allow for an array of known elements with different numbers and types.

let x:[string,number];
x=['hello',10];//ok
x=[10,'hello'];//Error

当访问一个已知索引的元素,会得到正确的类型
When accessing an element of a known index, you get the correct type

console.log(x[0].substr(1));
console.log(x[1].substr(1));//number does not have substr
x[3]='word';//联合类型替代
console.log(x[5].toString())//string和number都有toString
x[6]=true//

枚举
enumeration

enum Color{Red,Green,Blue};
let c:Color=Color.Green;

改成从1开始编号
Change to Number from 1

enum Color{Red=1,Green,Blue};
let c:Color=Color.Green;

或者全部用来手动赋值
Or all for manual assignment

enum Color {Red=1,Green=2,Blue=4};
let c:Color=Color.Green;
enum Color {Red=1,Green,Blue};
let colorName:string=Color[2];
alert(colorName);

任意值
any

let motSure:any=4;
notSure="maybe a string instead";
notSure=false;//okay,definitely a boolean
let notSure:any=4;
notSure.ifitExists();
notSure.toFixed();
let prettySure:Object=4;
prettySure.toFixed();//Error

当你只知道一部分数据的类型时,any类型也是有用的
Any type is also useful when you only know a part of the data type.

let list:any[]=[1,true,"free"];
list[1]=100;

空值void类型像是与any类型相反,他表示没有任何类型,当一个函数没有返回值时,通常会见到其返回值类型是void;
The null void type is like the opposite of any type. It means that there is no type. When a function does not return a value,
it is usually seen that its return value type is void.

function warnUser():void{
    alert('this is my warning message');
}

声明一个void类型的变量没有什么大用,只能赋予undefined和null
Declaring a variable of void type is not very useful, it can only give undefined and null

let unusable:void=undefined;
let u:undefined=undefined;
let n:null=null;

Never类型表示的是那些永不存在的值的类型.
Never types represent types of values that never exist.

function error(message:string):never{
    throw new Error(message);
}

推断返回的值为never
Infer that the return value is never

function fail(){
    return error("something failed");
}

返回never的函数必须存在无法达到的终点
A function returning to never must have an unreachable end point

function infiniteloop():never{
    while(true){}
}

类型断言
Type Asserts

let someValue:any="this is a string";
let strLength:number=(<string>someValue).length;

另一个as语法
Another as grammar

let someValue:any="this is a string";
let strLength:number=(someValue as string).length;

Let Block-level scopes

by感觉官网并没有这个网站详细 https://www.w3cschool.cn/typescript/typescript-basic-types.html
by整理学习笔记 typescript
by我还差很远,要加油

原文地址:https://www.cnblogs.com/smart-girl/p/10337581.html

时间: 2024-11-08 04:12:56

typescript基础类型的相关文章

1、typescript - 基础类型

1.布尔值 最基本的数据类型就是简单的true/false值,在JavaScript和TypeScript里叫做boolean(其它语言中也一样). let isDone: boolean = false; 2.数字 和JavaScript一样,TypeScript里的所有数字都是浮点数. 这些浮点数的类型是 number. 除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量. let decLiteral: number = 6

TypeScript系列2-手册-基础类型

基础类型(Basic Types) 我们提供一些基础类型,比如数字(numbers).字符串(strings).结构(structures),布尔值(Boolean)等等.在TypeScript中,我们支持JavaScript中相同的类型,还提供枚举类型. Boolean 最基础的数据类型是true/false值,JavaScript和TypeScript以及其他语言把它叫做'boolean'类型. var isDone: boolean = false; Number 跟JavaScript一

TypeScript学习笔记之基础类型

从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下npm包: npm i typescript -g // ts全局包 npm i ts-node -g // 使用ts-node可以直接运行ts文件 基础类型 布尔类型 let isDone: boolean = false let isExist: boolean = true console.lo

TypeScript 之 基础类型

https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html TypeScript 的 基础类型,包括:boolean.number.string.数组.Tuple(元组).enum(枚举).any.void.null.undefined.类型断言 2种方式定义数组: 在元素类型后面接上[] let list: number[] = [1, 2, 3]; 使用数组泛型,Array<元素类型

Typescript学习笔记(一)基础类型

为了面向ng2和前端未来,开始搞向ts,ts是微软出的一枚语言,作为es6的超集,他出的一些特性还是蛮好用的(略坑).对于我等纯前端(从开始就接触javascript)的人来说,真想说,这特么什么鬼.部分特性同es6(个人对es6还是蛮有好感的).ts同期的coffeescript,将js python化,ts也把js搞的向其他语言靠拢.. 中文学习,这里是英文学习.如果不想看这些东西,那看我笔记学吧.哈哈. ts的基础类型,布尔值,数字,字符串,数组,元组(Tuple),枚举,任意值,空值.后

从C#到TypeScript - 高级类型

C# vs TypeScript - 高级类型 上一篇讲了基础类型,基本上用基础类型足够开发了,不过如果要更高效的开发,还是要看下高级类型,这篇和C#共同点并不多,只是延用这个主题. 联合类型 可以从字面上进行理解:其实就是多个类型联合在一起,用|符号隔开.如: string | number, 表示希望这个类型既可以是string,又可以是number.联合类型的字段只能调用这些类型共同拥有的方法,除非类型推论系统自动判断出真正的类型. //这里sn就是一个联合类型的字段,由于类型推论推断出s

TypeScript(一)TypeScript培养类型思维

TypeScript培养类型思维 前言:当你点开这篇文章时,我相信你已经在很多地方都已经听说过或者见过TypeScript了.但是可能对TypeScript依然有很多问号:TypeScript到底是什么?为什么每个人都在说TypeScript怎么怎么好,到底好在哪里?Angular.Vue3接连使用TypeScript进行了重构是否意味着我们必须掌握TypeScript,它们又为什么要选择TypeScript?我需要什么样的基础才能学会或者说学好TypeScript呢?没有关系,在这个章节中我们

typeScript基础学习

关于 TypeScript TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上. 什么是 TypeScript TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript.编译出来的 JavaScript 可以运行在任何浏览器上.TypeScript 编译工具可以运行在任何服务器和任何系统上.TypeScript 是开源的. 安装 TypeScri

TypeScript高级类型

交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型. 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性. 例如,Person & Serializable & Loggable同时是Person和Serializable和Loggable. 就是说这个类型的对象同时拥有了这三种类型的成员. 我们大多是在混入(mixins)或其它不适合典型面向对象模型的地方看到交叉类型的使用. (在JavaScript里发生这种情况的场合很多