|
@@ -0,0 +1,101 @@
|
|
|
|
+import { Serializer } from "v8";
|
|
|
|
+
|
|
|
|
+// 引用数据类型
|
|
|
|
+let a:object;
|
|
|
|
+a = [];
|
|
|
|
+a = {};
|
|
|
|
+a = function() {};
|
|
|
|
+
|
|
|
|
+/**类型
|
|
|
|
+ * 对象的语法
|
|
|
|
+ * {
|
|
|
|
+ * 属性名:属性值,
|
|
|
|
+ * ..
|
|
|
|
+ * ..
|
|
|
|
+ * 在属性名后添加问号 相当于给当前属性添加可选开关
|
|
|
|
+ * }
|
|
|
|
+ */
|
|
|
|
+let b: {
|
|
|
|
+ a:number,
|
|
|
|
+ b:string,
|
|
|
|
+ c?:boolean
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+b = {
|
|
|
|
+ a:1,
|
|
|
|
+ b:'2'
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+b = {
|
|
|
|
+ a:11,
|
|
|
|
+ b:'0',
|
|
|
|
+ c:true
|
|
|
|
+}
|
|
|
|
+// 添加任意属性的任意类型数据
|
|
|
|
+let c: {
|
|
|
|
+ a:boolean,
|
|
|
|
+ b?:string,
|
|
|
|
+ [propName:string]:any
|
|
|
|
+}
|
|
|
|
+c = {
|
|
|
|
+ a:true,
|
|
|
|
+ b:'1',
|
|
|
|
+ hi:"你好",
|
|
|
|
+ say:"哈哈"
|
|
|
|
+}
|
|
|
|
+// 函数
|
|
|
|
+// 普通函数 箭头函数 匿名函数 立即执行函数
|
|
|
|
+// 定义函数类型
|
|
|
|
+let d:(a:number,b:number) => number;
|
|
|
|
+
|
|
|
|
+d = function fn1(a:number,b:number) {
|
|
|
|
+ return a + b;
|
|
|
|
+}
|
|
|
|
+d(12,5)
|
|
|
|
+
|
|
|
|
+// 数组
|
|
|
|
+// let xxx:type[]
|
|
|
|
+// let xxx:Array<type>
|
|
|
|
+let e:number[] = [1,2,3,4,5];
|
|
|
|
+let f:boolean[] = [true,false];
|
|
|
|
+let g:Array<boolean> = [true,false];
|
|
|
|
+
|
|
|
|
+// 元组:固定长度的数组
|
|
|
|
+let h:[number,boolean];
|
|
|
|
+h = [1,true];
|
|
|
|
+
|
|
|
|
+// 枚举
|
|
|
|
+enum Sex {
|
|
|
|
+ man,
|
|
|
|
+ woman
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+let i: {
|
|
|
|
+ name:string,
|
|
|
|
+ age:number,
|
|
|
|
+ sex:Sex
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+i = {
|
|
|
|
+ name:"Lucy",
|
|
|
|
+ age: 10,
|
|
|
|
+ sex: Sex.woman
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 判断:条件 ? '真' : '假'
|
|
|
|
+console.log(i.sex === Sex.woman? '女' : '男')
|
|
|
|
+
|
|
|
|
+// 类型别名
|
|
|
|
+type myType = 1|2|3|4;
|
|
|
|
+let j:myType = 3;
|
|
|
|
+let x:myType = 2;
|
|
|
|
+
|
|
|
|
+// 逻辑运算符: | 或 / & 与
|
|
|
|
+let m: {name:string} & {age:number};
|
|
|
|
+m = {
|
|
|
|
+ name:'图图',
|
|
|
|
+ age: 3
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+export {}
|