安装

cnpm i typescript -g

查看版本

tsc --version

cnpm init -y 创建package.json文件

tsc --init 创建tsconfig.json文件

vscode编译ts文件

终端(Terminal) -> 运行任务(run Task...) -> tsc:watch - tsconfig.json

命令行运行

在package.json中更改

"scripts": {

"build": "tsc",

"build:watch": "tsc --watch"

},

运行 npm run build

数据类型

如果代码里有export import之类的代码,那么这个文件变成一个模块

//如果不加export {},变量是全局的,name就会报错(name重复声明)

export { }

let age: number = 30

let name: string = 'gao'

复制代码

布尔类型(boolean)

let married: boolean=false;

复制代码

数字类型(number)

let age: number=10

复制代码

字符串类型(string)

let fistname: string='zfpx'

复制代码

数组类型(array)

let arr2: number[]=[4,5,6];

let arr3: Array=[7,8,9];

let arr4: string[] = ['1','2','3']

复制代码

元组类型(tuple)

类似一个数组 它是一个长度和类型都固定都数组

在TypeScript的基础类型中,元组(Tuple)表示一个已知数量和类型的数组

let kuxuan:[string,number] = ['kuxuan',7];

kuxuan[0].length;

kuxuan[1].toFixed(2);

复制代码

枚举类型(enum)

事先考虑某一个变量的所有的可能的值,尽量用自然语言中的单词表示它的每一个值

比如性别、月份、星期、颜色、单位、学历

普通枚举

enum Gender{

GIRL,

BOY

}

console.log(`李雷是${Gender.BOY}`)

console.log(`韩梅梅是${Gender.GIRL}`)

let Gebder = {

0:"GIRL",

1:"BOY",

"GIRL":0

"BOY":1

}

enum Week{

MONDAY=1,

TUESDAY=2

}

console.log(`今天是星期${Week.MONDAY}`)

复制代码

任意类型 anyscript

弟三库没有类型定义 类型转换的时候 数据结构太复杂太灵活 any

ts为dom 提供了一整套的类型声明

let root: HTMLElement | null = document.getElementById('root')

root!.style.color = 'red';

复制代码

null undefined

null 空 undefined 未定义

它们都是其他类型的子类型 可以把它们赋给其他类型的变量

如果把它们赋值给其他类型,需要把tsconfig.json文件里的strictNullChecks改为false,否则代码将会报错(不能将类型“undefined”分配给类型“string”)

let myname1: string = null;

let myname2: string = undefined;

let x:number;

x=1;

x=undefined;

x=null;

复制代码

void类型 空的 没有

function greeting(name: string):void{

console.log(`hello ${name}`)

return null

}

greeting('g')

复制代码

never 永远不

never 是其他类型的子类型,代表不会出现的值

返回“从不”的函数不能具有可访问的终结点

在函数内部永远会抛出错误,导致函数无法正常结束

console.log('end point')永远执行不到

function createError(message: string):never{

console.log(1)

throw new Error('error')

console.log('end point')

}

function sun(): never{

while(true){

console.log('hello')

}

console.log('end point')

}

复制代码

包装对象(Wrapper Object) java装箱和拆箱 c#

自动在基本类型和对象类型之间切换

JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。

所有的原始数据类型都没有属性(property)

原始数据类型

布尔值

数值

字符串

null

undefined

Symbol

在内部迅速的完成一个装箱的操作,把基本类型迅速包装成对象类型,然后用对象来调用方法

let name = 'zhufeng';

console.log(name.toUpperCase());

console.log((new String('zhufeng')).toUpperCase());

复制代码

联合类型

联合类型(Union Types)表示取值可以为多种类型中的一种

未赋值时联合类型上只能访问两个类型共有的属性和方法

let name: string | number;

console.log(name.toString());

name = 3;

console.log(name.toFixed(2));

name = 'zhufeng';

console.log(name.length);

复制代码

类型断言

类型断言可以将一个联合类型的变量,指定为一个更加具体的类型

不能将联合类型断言为不存在的类型

let name: string | number;

console.log((name as string).length);

console.log((name as number).toFixed(2));

console.log((name as boolean));

复制代码

字面量类型

可以把字符串、数字、布尔值等字面量组合在一起

type ZType = 1 | 'One'|true;

let t1:ZType = 1;

let t2:ZType = 'One';

let t3:ZType = true;

复制代码

字符串字面量 vs 联合类型

字符串字面量类型用来约束取值只能是某几个字符串中的一个, 联合类型(Union Types)表示取值可以为多种类型中的一种

字符串字面量 限定了使用该字面量的地方仅接受特定的值,联合类型 对于值并没有限定,仅仅限定值的类型需要保持一致

java script数据类型_typescript 基本数据类型相关推荐

  1. java基本数据类型_Java基础——数据类型

    java中一共分为两种数据类型:基本数据类型和引用数据类型. 基本数据类型 java中基本数据类型可以分为4类8种: 整型:byte.short.int.long 符点型:float.double 字 ...

  2. java基本数据类型_Java面试题Java中有几种基本数据类型?它们分别占多大字节?...

    点击上方"千锋Java学院",选择"置顶公众号" 每天一道面试模拟真题及解析 课前导读 ●回复"每日一练"获取以前的题目,持续更新! ●我希 ...

  3. Java为什么需要保留基本数据类型

    基本数据类型对以数值计算为主的应用程序来说是必不可少的. 自从1996年Java发布以来,基本数据类型就是Java语言的一部分.John Moore通过对使用基本类型和不使用基本类型做java基准测试 ...

  4. java和C中基本数据类型的所占字节数对比

    java 语言所占字节数 数据类型 32位计算机 64位计算机 byte 1 1 char 2 2 int  4 4 long 8 8 float 4 4 double 8 8 引用 4 8 c  语 ...

  5. java 类参数_Java的数据类型和参数传递(详解)

    Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型. Java中的基本数据类型 名称 大小 取值范围 byte型 (字节) 8bit -128-127 (-2^7到2^7-1) shor ...

  6. java数据类型_JAVA的数据类型

    什么是数据类型:百度百科 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作(简单来说就java对数据进行了分类,存在不同的类型) 那么为什么需要数据分类呢? 因为在java中不同 ...

  7. MySQL 数据类型讲解 和Java中所对应的数据类型讲解

    MySQL 数据类型讲解 和Java中所对应的数据类型讲解 Mysql数据类型分类 在Mysql中常用数据类型一共有四种字符串数据类型.日期/时间数据类型.数值数据类型以及二进制数据类型. 一.字符串 ...

  8. c 结构体在声明时赋值_Java基础知识 初识Java 循环结构进阶 数组 数据类型 各种运算符...

    今天给大家带来的是初级Java基础部分的知识:包括初始Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!最后还有****循环结构的进阶****,步骤超详细, ...

  9. 由java的八个基本数据类型说开去

    Java中定义了四类/八种基本数据类型: 布尔型----boolean 字符型----char 整数型----byte,short,int,long 浮点型----float,double 这八种基本 ...

最新文章

  1. error C2589: “(”: “::”右边的非法标记;error C2059: 语法错误 : “::”
  2. PCL点云曲面重采样三种方法:上采样,下采样,均匀采样
  3. 机器学习-有监督-SVM
  4. win phone 获取并且处理回车键事件
  5. Android开发——Android系统启动以及APK安装、启动过程
  6. 赛事招募 | 互联网创客马拉松开show啦~比武招APP
  7. 2021年网络工程师考试大纲
  8. 英文词典 text 文本格式下载
  9. flutter图片切换闪一下
  10. Anaconda创建虚拟环境时报错 InvalidArchiveError Error with archive D:\\(anaconda的路径)\\pkgs\\vs2015_runtime
  11. C语言—飞机大战小游戏
  12. excel oracle 可为空,类似excel定位功能用不为空值填充为空列,用sql怎么实现
  13. java自学 part2 数组 类和对象 包 继承 多态 抽象类 接口
  14. 状语从句不是简单句_简单句,并列句和状语从句语言点.doc
  15. MySQL查询语句练习题(50题版)
  16. 接入Google fit指南
  17. FZU 1076 穿越沙漠(逆推建模)(数学)
  18. 编程初学者入门训练-上三角矩阵判定
  19. 关于open3d的入门到放弃
  20. 软考计算机网络知识点,软考网络管理员备考知识点精讲之计算机网络的分类

热门文章

  1. sklearn之Pipeline 估计器
  2. 脉搏波相关产品的介绍
  3. IDEA搭建一个简单的Javaweb项目(二)
  4. foreach 页面超时php,解决php运行超时的方法
  5. android textview 必填,在android中如何使用Html渲染的方式实现必填项前面的*号
  6. STM32跑html协议,stm32实现1588协议
  7. oracle如何判断奇数偶数_堆垒素数论之旅(1):奇数哥德巴赫猜想
  8. (一)人工智能与机器语言翻译简介
  9. CKEditor 4 编辑器已与 Vue.js 集成
  10. Entity Framework Core 3.0 和 Entity Framework 6.3 正式发布