标签:typescript string 汇总 number 类型 let 基础教程 var 函数
JavaScript中所有事物(字符串、数值、数组、函数)都是对象,都有属性和方法。1、用函数定义对象,然后new对象实例。2、用Object定义并创建对象实例var o = new Object(true);
类其实是function:function带同名构造函数和return对象。
prototype给对象添加属性或方法
1、基础类型
数据类型 | 关键字 | 描述 |
---|---|---|
任意类型 | any | 声明为 any 的变量可以赋予任意类型的值。 |
数字类型 | number |
它可以用来表示整数和分数。 let binaryLiteral: number = 0b1010; // 二进制 let octalLiteral: number = 0o744; // 八进制 let decLiteral: number = 6; // 十进制 let hexLiteral: number = 0xf00d; // 十六进制 |
字符串类型 | string |
一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。 let name: string = "Runoob"; let years: number = 5; let words: string = `您好,今年是 ${ name } 发布 ${ years + 1} 周年`; |
布尔类型 | boolean |
表示逻辑值:true 和 false。 let flag: boolean = true; |
数组类型 | 无 |
声明变量为数组。 // 在元素类型后面加上[] let arr: number[] = [1, 2]; // 或者使用数组泛型 let arr: Array<number> = [1, 2]; |
元组 | 无 |
元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。 let x: [string, number]; x = ['Runoob', 1]; // 运行正常 x = [1, 'Runoob']; // 报错 console.log(x[0]); // 输出 Runoob |
枚举 | enum |
枚举类型用于定义数值集合。 enum Color {Red, Green, Blue}; let c: Color = Color.Blue; console.log(c); // 输出 2 |
void | void |
用于标识方法返回值的类型,表示该方法没有返回值。 function hello(): void { alert("Hello Runoob"); } |
null | null |
表示对象值缺失。 |
undefined | undefined |
用于初始化变量为一个未定义的值 |
never | never |
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。 |
注意:TypeScript 和 JavaScript 没有整数类型。
any:类型免于检查,一路绿灯
unknown:使用之前要类型检查,
never:throw new Error('Unable to greet');
当类型没有给出时,TypeScript 编译器利用类型推断来推断类型
2、变量声明
let局部变量,常量const,全局变量var
变量不要使用 name 否则会与 DOM 中的全局 window 对象下的 name 属性出现了重名。
类型强制转换方法:(类型断言)
var str2:number = <number> '1'
var str2:number = '1' as number
变量作用域:全局作用域、类作用域、局部作用域
类型声明:
type ObjectType={a:number,b:number}
let obj=reactive<ObjectType>({a:1,b:2})
3、运算符
短路运算符(&& 与 ||):&&第一个参数是false就直接返回false,第二个不会执行;||第一个参数是true就直接返回true第2个不会执行。
typeof 返回操作数的数据类型。
instanceof 运算符用于判断对象是否为指定的类型
判断类型方法:if(typeof person === 'string'), if(Array.isArray(person)),if(obj instanceof Person)
4、函数
可选参数:放最后,用文号标识。lastName?:string
默认参数:lastName:string='a'
剩余参数:不知道要传多少个参数,将一个不确定数量的参数作为一个数组传入。...nums:number[]
#匿名函数:将函数赋值给一个变量。var res = function( [arguments] ) { ... }用res来调用函数
匿名函数自调用:匿名函数自调用在函数后使用 ()。(function( [arguments] ) { ... })()
构造函数:也支持用Function() 来定义函数,var res = new Function("a", "b", "return a * b"); res就是函数名称
#Lambda 函数:箭头函数。var foo = (x:number)=>{10 + x} 等价于function foo(x:number){return 10+x}
函数重载:函数方法名字相同,而参数不同。多个函数定义+1个函数实现(实现中类型不同就用any)
5、其他对象
数字:var num = new Number(value);简写:var num =1;
字符串:var txt = new String("string");简写:var txt = "string";
数组:var arr:number[] = new Array(4) 简写:var numlist:number[] = [2,4,6,8]
多维数组:var multi:number[][] = [[1,2,3],[23,24,25]]
结构赋值:将数组或对象赋值给变量。let [a, b, c] = foo();let {x: x, y: y, z: z} = bar();
6、循环
for()
for…of 遍历数组、字符串、Maps、Sets。用来替代for...in和forEach
every 和 some 取代 forEach,forEach无返回
while
do...while
7、元祖
元祖是可以存储不同类型元素的数组
let x: [string, number]= ['Runoob', 1];
push() 向元组添加元素,添加在最后面。
pop() 从元组中移除元素(最后一个),并返回移除的元素。
8、联合类型
通过管道(|)将变量设置多种类型。var val:string|number=12
联合类型数组:var arr:number[]|string[];
9、接口、类、对象、命名空间
接口:一系列抽象方法的声明,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。继承extends,可继承多个接口
类:属性、构造函数constructor、方法。extends继承:1次只能继承一个类,不能继承多个类。用super引用父类属性和方法。方法重写。static
访问控制修饰符:public,protected,private
类可以实现接口,使用关键字 implements,并将 interest 字段作为类的属性使用
多态:
命名空间:引入命名空间文件/// <reference path = "SomeFileName.ts" />
10、声明文件
用来引入第三方js库。以 .d.ts 为后缀。引入申明文件格式:/// <reference path = " runoob.d.ts" />
标签:typescript,string,汇总,number,类型,let,基础教程,var,函数 来源: https://www.cnblogs.com/tiandi/p/16342983.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。