在 JavaScript 中类型分为七种,分别是:null, undefined, boolean, string, number, object 和 ES6 新增的 symbol,下面就来介绍前面五种,剩下的会在后面展开。
null, undefined
null 和 undefined 的类型很简单,在 JavaScript 中undefined == null
;
同时这两个类型也经常被赋值作为作为一个变量的初始值,
不过如果在 typeScript 中被显示给变量赋值于 undefined,或者 null,那么标注类型的变量只能与 undefined 和 null 之间转化。
// ok
let oa: null = null;
let ob: undefined = undefined;
let oc: undefined = null;
let od: null = undefined;
od = null;
// no // 不能将类型“456”分配给类型“null”。
let oe: null;
oe = 456;
复制代码
同时,undefined 和 null 也是其他类型的子类型,也就是说其它类型的初始值也可以显示设置为 undefined 或者 null。
let arr: number[] = null;
arr = 456;
let obj: {} = undefined;
复制代码
boolean
显式给一个变量赋值直接使用 boolean 即可
let o: boolean = true;
o = false;
// 不能将类型“456”分配给类型“boolean”。
o = 456;
复制代码
注意区分 boolean 和 Boolean 的区别,Boolean 是包装类型,在 typeof 下是 object
let o: boolean = new Boolean(true);
typeof new Boolean(true);
复制代码
其他两种包装类型也是一样,不一一讲解了
string
字符串有三种方法表示
let str: string;
str = "hello";
str = "hello";
str = `hello`;
复制代码
前面两种我们经常使用,最后一种是字符串模板,还可以在内部嵌套变量表达式来使用
let text: string = "world";
let str: string;
str = `hello ${text}`;
复制代码
可以看到与 JavaScript 并无区别
在项目中使用某一种风格就统一使用,不要来回转化,这样更符合良好的代码风格。
number
JavaScript 中数值主要有四种表达方式,十六进制,十进制,八进制和二进制,下面就是 typeScript 编写上面所说的进制
let o: number;
// 十进制
o = 10;
// 十六进制
o = 0x1;
// 八进制
o = 0o0;
// 二进制
o = 0b0;
复制代码
最后
愉快的到了结尾,以编写一个 hello wrold 为结束。
function hello (text: string) {
return text + ' world';
}
let hello: string = 'hello';
hello();
复制代码
基本类型简单讲完了,后面的文章会着重讲解 object,至于什么时候更新,那就看懒癌有没有发作了!