typeScript中的数据类型
/*
typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean)
数字类型(number)
字符串类型(string)
数组类型(array)
元组类型(tuple)
枚举类型(enum) 任意类型(any)
null 和 undefined
void类型
never类型 */ //布尔类型(boolean) /*
es5的写法 (正确写法) ts中(错误写法)
var flag=true; flag=456;
*/ /*
typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验 写ts代码必须指定类型 var flag:boolean=true; // flag=123; //错误 flag=false; //正确 console.log(flag); */ // 数字类型(number) /*
var num:number=123; num=456; console.log(num); /正确/ num='str'; //错误 */ // 字符串类型(string) /*
var str:string='this is ts'; str='haha'; //正确 str=true; //错误 */ // 数组类型(array) ts中定义数组有两种方式 // var arr=['1','2']; //es5定义数组 // 1.第一种定义数组的方式
var arr:number[]=[11,22,33]; console.log(arr); //2.第二种定义数组的方式
var arr2:Array<number>=[11,22,33]; console.log(arr2) //3、第三种 var arr3:any[]=['131214',22,true]; console.log(arr3); // 元组类型(tuple) 属于数组的一种 // var arr:Array<number>=[11,22,33]; // console.log(arr) //元祖类型
// let arr:[number,string]=[123,'this is ts']; // console.log(arr); /*
枚举类型(enum)
随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。
例如:性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。
在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。
如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。
也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,
这种方法称为枚举方法,用这种方法定义的类型称枚举类型。 enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
} ; */ /* enum Flag {success=1,error=2}; let s:Flag=Flag.success; console.log(s); enum Flag {success=1,error=2}; let f:Flag=Flag.error; console.log(f);
*/ /*
000010 -1 -2 */ // 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 enum Err {'undefined'=-1,'null'=-2,'success'=1}; var e:Err=Err.success; console.log(e); // 任意类型(any) // var num:any=123; // num='str'; // num=true; // console.log(num) //任意类型的用处 var oBox:any=document.getElementById('box'); oBox.style.color='red'; // null 和 undefined 其他(never类型)数据类型的子类型 // var num:number; // console.log(num) //输出:undefined 报错 // var num:undefined; // console.log(num) //输出:undefined //正确 // var num:number | undefined; // num=123; // console.log(num); //定义没有赋值就是undefined
// var num:number | undefined; // console.log(num); // var num:null; // num=null; //一个元素可能是 number类型 可能是null 可能是undefined var num:number | null | undefined; num=1234; console.log(num) // void类型 :typescript中的void表示没有任何类型,一般用于定义方法的时候方法没有返回值。 //es5的定义方法
// function run(){ // console.log('run')
// } // run();
//表示方法没有返回任何类型 /*
//正确写法
function run():void{ console.log('run')
} run(); */ //错误写法
/*
function run():undefined{ console.log('run')
} run(); */
//正确写法
/*
function run():number{ return 123;
} run();
*/ // 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中的数据类型的更多相关文章
- TypeScript之基本数据类型
前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...
- 鉴定JavaScript中的数据类型
众所周知,JavaScript是一门弱类型的语言,但是这并不代表JavaScript中没有数据类型.JavaScript中常见的数据类型有string.number.object等等,通常我们使用ty ...
- TypeScript学习笔记—数据类型
TypeScript 数据类型 Boolean 类型 let isDone: boolean = false; // tsc => var isDone = false; Number 类型 l ...
- Typescript基础(1)——数据类型
前言 这是开始学习Typescript的一些笔记,涉及的都是很基础的知识点.大神们请绕路或者欢迎指点.今天开始第一部分数据类型的学习. 数据类型 Typescript中为了使代码编写更加规范,更加易于 ...
- JavaScript 、TypeScript 中的 Boolean
boolean 是 JavaScript 中一种有趣的原始数据类型.在TypeScript中,非严格模式下("strictNullChecks": false),它总共允许4个值 ...
- 面试说:聊聊JavaScript中的数据类型
前言 请讲下 JavaScript 中的数据类型? 前端面试中,估计大家都被这么问过. 答:Javascript 中的数据类型包括原始类型和引用类型.其中原始类型包括 null.undefined.b ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...
- js中的数据类型
JS中的数据类型: ——数字 (number)NaN ——字符串(string) ——布尔 (boolean)——函数 (function) 也是对象的一种 ——对象 (object) ...
随机推荐
- jupytext library using in jupyter notebook
目录 1. jupytext features 2. Way of using 3. usage 4. installation 1. jupytext features Jupytext can s ...
- 《The One!团队》第八次作业:ALPHA冲刺(一)
项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握软件测试基础技术.(2)学习迭代式增量软件开发过程(Scrum) 第一天 ...
- LightOJ - 1173 - The Vindictive Coachf(DP)
链接: https://vjudge.net/problem/LightOJ-1173 题意: The coach of a football team, after suffering for ye ...
- xml文件整理
xml 97-2003 格式 \s*\n\s*\n\s*\n\s*\n\n(^个人补充信息.*)\n(.*)\n(^总成绩.*)$1$2\n$3(^个人补充信息.*)\n(.*)\n(.*)\n(^总 ...
- CSS3中的display:grid网格布局介绍
1.网格布局(grid): 它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局; 2.基本概念: 容器和项目,如图所示: <div class="content&qu ...
- VS - ActionFilterAttribute
Global.asax.cs public class MvcApplication : System.Web.HttpApplication { public static void Registe ...
- 二维$MLE$线段树
关于二维线段树,ta死了 先来看看两种二维线段树的打法 1.四叉树 然而ta死了,ta是$\Theta (n)$的,加上线段树的常数,$T$飞稳 2.线段树套线段树 我尽量画出来... 图中每个方块是 ...
- flutter 监听返回
在项目中遇到了一个场景,A页面必须返回某个tab页,但是A页面可能会调到B,再跳到C,最后回到A.这个时候A的返回肯定是C. 想了一些解决方案,都不如监听A页面的实体键返回或者虚拟键返回来的快速便捷. ...
- [学习笔记] 二叉查找树/BST
平衡树前传之BST 二叉查找树(\(BST\)),是一个类似于堆的数据结构, 并且,它也是平衡树的基础. 因此,让我们来了解一下二叉查找树吧. (其实本篇是作为放在平衡树前的前置知识的,但为了避免重复 ...
- Spring Boot|监控-Actuator
Spring Boot 为我们提供了一个生产级特性-Actuator,包含很多实际有用的API,下面我们就一起来看看这些API. 一.Actuator 首先在程序中引入Actuator <!-- ...