typescript - 2.数据类型
typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型
布尔类型(boolean)
数字类型(number)
字符串类型(string)
数组类型(array)
元组类型(tuple)
枚举类型(enum)
任意类型(any)
null 和 undefined
void类型
never类型
(1)布尔类型(boolean)
var flag=true;
flag=456; //es5的写法 (正确写法) ts中(错误写法)
var flag:boolean=true;
// flag=123; //错误
flag=false; //正确
console.log(flag);
(2)数字类型(number)
var num:number=123;
num=456;
console.log(num); /正确/
num='str'; //错误
(3)字符串类型(string)
var str:string='this is ts';
str='haha'; //正确
str=true; //错误
(4)数组类型(array)
// 数组类型(array) ts中定义数组有两种方式
// var arr=['1','2']; //es5定义数组
// 1.第一种定义数组的方式
var arr:number[]=[11,22,33];
console.log(arr);
//2.第二种定义数组的方式
var arr:Array<number>=[11,22,33];
console.log(arr)
(5)元组类型(tuple)
自定义每个数组类型
// 元组类型(tuple) 属于数组的一种
let arr:[number,string]=[123,'this is ts'];
console.log(arr);
(6)枚举类型(enum)
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
} ;
示例:
enum Flag {success=1,error=2};
let s:Flag=Flag.success;
console.log(s);
enum Color {blue,red,'orange'};
var c:Color=Color.red;
console.log(c); //1 如果标识符没有赋值 它的值就是下标
enum Color {blue,red=3,'orange'};
var c:Color=Color.red;
console.log(c); //3
var c:Color=Color.orange;
console.log(c); //4
(7)任意类型(any)
// var num:any=123;
// num='str';
// num=true;
// console.log(num)
//任意类型的用处
var oBox:any=document.getElementById('box');
oBox.style.color='red';
(8)null 和 undefined
null 和 undefined 其他(never类型)数据类型的子类型
var num:number;
console.log(num) //输出:undefined 报错
//定义没有赋值就是undefined
var num1:number | undefined;
console.log(num1);
//一个元素可能是 number类型 可能是null 可能是undefined
var num2:number | null | undefined;
num2=1234;
console.log(num2)l
(9) void类型
typescript中的void表示没有任何类型,一般用于定义方法的时候方法没有返回值。
function run():void{
console.log('run')
}
run();
//错误写法
/*
function run():undefined{
console.log('run')
}
run();
*/
(10)never类型
never类型:是其他类型 (包括 null 和 undefined)的子类型,代表从不会出现的值。
这意味着声明never的变量只能被never类型所赋值。
/*
var a:undefined;
a=undefined;
var b:null;
b=null;
*/
var a:never;
// a=123; //错误的写法
a=(()=>{
throw new Error('错误');
})()
typescript - 2.数据类型的更多相关文章
- typescript的数据类型
typescript是JavaScript的扩展,说到js的数据类型,大家肯定会想到它是一种弱类型的语言,不需要指定特定的数据类型,ts的语言也正在往java这些强类型的语言靠近: 看看typescr ...
- 第三章 Typescript 基本数据类型
Typescript 基本数据类型 一.基本数据类型 Boolean Number String Array Tuple Enum Any Void Null 和 Undefined Never 二. ...
- TypeScript——原始数据类型
TypeScript原始数据类型 原始数据类型包括:布尔值.数值.字符串.null.undefined. Symbol.BigInt. 布尔值: let isDone: boolean = false ...
- TypeScript基础数据类型
Typescript与Javascript 二者的区别 作为前端开发的基础语言javascript已经深入人心,人人皆知.作为变成入门的最简单语言,Javascript语言以动态.弱类型语言而著名,学 ...
- TypeScript的数据类型总结
全局下载:npm i typescript -g 编译.ts文件:tsc 1.ts自动生成对应js文件 基本类型: 1.布尔,数字,字符串 ts文件 //布尔类型 var a:boolean=tru ...
- typescript 02 数据类型
---恢复内容开始--- 1.数据类型 ts为了使代码更加规范并利于维护,增加了类型校验 提供了以下几种类型 布尔类型 boolean 数字类型 number 字符串类型 string 数组类型 ar ...
- typescript 基本数据类型
1.boolen 布尔类型 let boolen1: boolen = false; 2.number 数字类型 let num1: number = 0b110;//二进制 let num2: nu ...
- 学习TypeScript,笔记一:TypeScript的简介与数据类型
该文章用于督促自己学习TypeScript,作为学笔记进行保存,如果有错误的地方欢迎指正 2019-03-27 16:50:03 一.什么是TypeScript? TypeScript是javasc ...
- TypeScript入门二:基本数据类型
浅析基本数据类型 TypeScript类型解析 一.浅析基本数据类型 首先有一个问题TypeScript是一门编译型语言?还是解释性语言?显然已经不能被这两个分类来区分,TypeScript的并不是为 ...
随机推荐
- 大数据之kafka-05.讲聊聊Kafka的版本号
今天聊聊kafka版本号的问题,这个问题实在是太重要了,我觉得甚至是日后能否用好kafka的关键.上一节我们介绍了kafka的几种发行版,其实不论是哪种kafka,本质上都内嵌了最核心的Apache ...
- JSP内置对象(下)
session的生命周期 创建 活动 销毁 application对象 Page对象
- Flask入门到放弃(五)—— 蓝图
转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10980094.html 蓝图 Blueprint 模块化 随着flask程序越来越复杂,我们需要对 ...
- 【监控】jvisualvm之jmx远程连接 tomcat war启动应用
一.tomcat相应jmx配置 1.在tomcat bin目录下的catalina.sh文件中添加如下配置: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun. ...
- Linux系统文件/etc/fstab
挂载可以使用命令或者修改系统文件两种方式,第一种方式使用mount命令挂载文件系统可以立即生效并使用,但计算机重启后无效.另一种方式需要修改系统文件/etc/fstab,这种方式挂载的文件系统在计算机 ...
- 《团队作业第三、四周》五阿哥小组Scrum 冲刺阶段---Day3
<团队作业第三.四周>五阿哥小组Scrum 冲刺阶段---Day3 一.项目燃尽图 二.项目进展 20182310周烔今日进展: 主要任务一览:界面布局的设计 20182330魏冰妍今日进 ...
- 上下左右居中 无固定高的div
<style type=“text/css”> #vc { display:table; background-color:#C2300B; width:500px; height:200 ...
- STM32L4R9使用HAL库调试IIC注意事项
STM32使用Cubemx生成的代码中,用到IIC的驱动,但是始终不能读写,因此使用逻辑分析仪,发现原本地址为0x58的写成了0x20,因此肯定是地址错了.因此,总结如下: 1.需要逻辑分析仪分析II ...
- git和bootstrap
在linux系统中某种类型的服务有没有启动:ps -ef|grep 对应的服务名称 然后修改gitlab中的两个配置文件的信息 一般情况下是先创建组,然后在创建项目 常见的协议有http协议 ss ...
- 动手动脑---找出指定文件夹下所有包容指定字符串的txt文件
思路:先判断是否为文件,如果是文件,则需要判断改文件名是否包含字符串"txt",包含则输出.如果是文件夹的话,先需要判断文件名是否包含".txt"(因为文件名也 ...