其安易持,其未兆易谋;javascript
其脆易泮,其微易散。 为之于未有,治之于未乱。 合抱之木,生于毫末; 九层之台,起于垒土; 千里之行,始于足下。 为者败之,执者失之。 是以圣人无为故无败,无执故无失。 民之从事,常于几成而败之。 慎终如始,则无败事。 是以圣人欲不欲,不贵可贵之货; 学不学,复众人之所过。 以辅万物之天然而不敢为。 --- 《道德经》 第六十四章。java
乔治·布尔(George Boole,1815.11.2~1864),1815年11月2日生于英格兰的林肯。 19世纪最重要的数学家之一,出版了《逻辑的数学分析》 ,这是它对符号逻辑诸多贡献中的第一次。1854年,他出版了《思惟规律的研究》 ,这是他最著名的著做。在这本书中布尔介绍了如今以他的名字命名的布尔代数。es6
// js
let bool = false;
let boolr = true;
// ts
let boolts: boolean = false;
let boolrts: boolean = true;
复制代码
布尔包装类型:数组
包装类型是经过构造函数建立,本事一个包装了基本类型的对象。markdown
let boolWrap = new Boolean(fasle);
复制代码
Character string:字符串或串(String)是由数字、字母、下划线组成的一串字符。函数
// js
let str = 'this is string';
// ts
let strTs: string = 'this is ts string';
复制代码
字符串包装类型ui
let strWrap = new String(false)
复制代码
字符串包装类型的本质是一个包装了字符串的对象。this
数字类型用于表示数量值,用于计算spa
let a = 123;
// ts
let b: number = 123;
复制代码
数字包装类型:code
let num = new Number(123)
复制代码
字符串包装类型是一个对象,包装了 number 类型。
Null 类型通常表示是清空,什么都没有。
// js
let xi = null;
// ts
let xii: null = null;
复制代码
undefined 表示尚未进行定义,与 null 不一样的是 null 其实空,不是没有定义。没有定义的变量若是访问了,会输出 undefined, 或者报错。
// js
let b = undefined;
//ts
let c: undefined = undefined
复制代码
符号,表示是独一无二的,Symbol 从 JavaScript 中引入就是为了解决独一无二的特性。如:对象属性名具备惟一性。 Symbol 是由 Symbol 函数调用建立,没有构造函数
let sym = Symbol(123)
复制代码
JavaScript 中的基本数据类型 primitive data type 就是这六种。基本数据类型保存在栈中。基本数据类型没有引用数据类型的变化。
javascript 数组是一个数据的集合, 成员能够是基本数据类型,也能够是引用类型。可是 TypeScript 对数字成员进行了约束,必须所有为指定的类型。
// 建立一个数组
let a = [1, 2, 3, 'string'];
var arr_names:number[] = new Array(4)
// ts
let a: number[] = [1, 2, 3]; // 成员必须都是 number
let a: Array<number> = [1,2,3]; // 使用泛型约束全部成员都是number类型
// ts 指定类型
let b = [number, string, number] = [123, 'hello', 89]
复制代码
对象是key-value的集合,在 JavaScript 中 value,值能够是:基本数据类型,引用数据类型。
// js
let ob = {
aa: false,
bb: 123,
cc: 'this is cc',
dd: null,
ee: undefined;
ff: Symbol("ff"),
gg: [1, 2, 4],
hh: function() {console.log("hh")},
jj: {x: 123, y: false}
}
//
let ob: Object = {
aa: false,
bb: 123,
cc: 'this is cc',
dd: null,
ee: undefined;
ff: Symbol("ff"),
gg: [1, 2, 4],
hh: function() {console.log("hh")},
jj: {x: 123, y: false}
}
复制代码
// ts, 若是须要类型,须要在函数内部判断类型
let func = function func(a) { console.log(a)}
// ts 参数类型,返回值类型,肯定函数类型
let fn = function fn(a: number):void {console.log(a)}
复制代码
也就是说,数据类型上多了 6 中约束类型。