最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • TypeScript 的基础类型总结

    正文概述 掘金(web前端小菜鸡)   2021-07-06   527

    Boolean类型

    let state: boolean = false;
    

    Number类型

    let num: number = 66;
    

    String类型

    let str: string = 'hello world!';
    

    symbol类型

    // const sym = Symbol();
    

    Array类型

    let arr1: number[] = [1, 2, 3, 4];
    
    let arr2: Array<number> = [1, 2, 3, 4];
    

    Enum类型

    enum List {
    	ONE,
    	TWO,
    	THREE,
    	FORE
    }
    
    enum List1 {
    	ONE,
    	TWO = "A",
    	THREE = 8,
    	FORE
    }
    
    enum List2 {
    	ONE = 'first',
    	TWO = 'second',
    	THREE = 'third',
    	FORE = 'fourth'
    }
    

    Any类型

    let sure: any = 'sure';
    
    sure = 666;
    
    sure = false;
    

    UnKnown类型

    let sure1: unknown;
    
    sure1 = 666;
    
    sure1 = true;
    
    // let value1: string = sure1;  // Error
    

    Tuple(元组)类型

    let tupleArray: [string, number] = ['hello', 123]
    

    Void类型

    function fn(): void {
    	console.log("TypeScript");
    }
    

    Null 和 Undefined

    let n: null = null;
    
    let u: undefined = undefined;
    

    object,Object 和 {} 类型

    1、object类型

    // node_modules/typescript/lib/lib.es5.d.ts
    interface ObjectConstructor {
    	create(o: object | null): any;
    	// ...
    }
    const proto = {};
    Object.create(proto); // OK
    Object.create(null); // OK
    // Object.create(undefined); // Error
    // Object.create(1337); // Error
    // Object.create(true); // Error
    // Object.create("oops"); // Error
    

    2、Object类型

    • Object 接⼝定义了 Object.prototype 原型对象上的属性;
    // node_modules/typescript/lib/lib.es5.d.ts
    interface Object {
    	constructor: Function;
    	toString(): string;
    	toLocaleString(): string;
    	valueOf(): Object;
    	hasOwnProperty(v: PropertyKey): boolean;
    	isPrototypeOf(v: Object): boolean;
    	propertyIsEnumerable(v: PropertyKey): boolean;
    }
    
    • ObjectConstructor 接⼝定义了 Object 类的属性。
    // node_modules/typescript/lib/lib.es5.d.ts
    interface ObjectConstructor {
    	/** Invocation via `new` */
    	new(value?: any): Object;
    	/** Invocation via function calls */
    	(value?: any): any;
    	readonly prototype: Object;
    	getPrototypeOf(o: any): any;
    	// ···
    }
    declare var Object: ObjectConstructor;
    

    Object 类的所有实例都继承了 Object 接⼝中的所有属性。

    3、{} 类型

    // Type {}
    const obj = {};
    
    // Error: Property 'prop' does not exist on type '{}'.
    obj.prop = "semlinker";
    

    但是,你仍然可以使⽤在 Object 类型上定义的所有属性和⽅法,这些属性和⽅法可通过 JavaScript 的原型链隐式地使⽤:

    // Type {}
    const obj2 = {};
    
    // "[object Object]"
    obj.toString();
    

    Never类型

    例如, never 类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型。

    // 返回never的函数必须存在⽆法达到的终点
    function error(message: string): never {
    	throw new Error(message);
    }
    function infiniteLoop(): never {
    	while (true) { }
    }
    

    起源地下载网 » TypeScript 的基础类型总结

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元