TypeScript极速梳理


4.6. object

<p>关于<code>Object</code> 与 <code>object</code> ,直接说结论:在类型限制时, <code>Object</code> ⼏乎不⽤,因为范围太⼤了,⽆意义。 1.<code>object</code> 的含义:任何【⾮原始值类型】,包括:对象、函数、数组等,限制的范围⽐较宽泛,⽤的少。</p> <pre><code>let a:object //a的值可以是任何【⾮原始值类型】,包括:对象、函数、数组等 // 以下代码,是将【⾮原始类型】赋给a,所以均⽆警告 a = {} a = {name:'张三'} a = [1,3,5,7,9] a = function(){} // 以下代码,是将【原始类型】赋给a,有警告 a = null // 警告:不能将类型“null”分配给类型“object” a = undefined // 警告:不能将类型“undefined”分配给类型“object” a = 1 // 警告:不能将类型“number”分配给类型“object” a = true // 警告:不能将类型“boolean”分配给类型“object” a = '你好' // 警告:不能将类型“string”分配给类型“object”</code></pre> <p>2.<code>Object</code> 的含义: <code>Object</code> 的实例对象,限制的范围太⼤了,⼏乎不⽤。</p> <pre><code>let a:Object //a的值必须是Object的实例对象, // 以下代码,均⽆警告,因为给a赋的值,都是Object的实例对象 a = {} a = {name:'张三'} a = [1,3,5,7,9] a = function(){} a = 1 // 1不是Object的实例对象,但其包装对象是Object的实例 a = true // truue不是Object的实例对象,但其包装对象是Object的实例 a = '你好' // “你好”不是Object的实例对象,但其包装对象是Object的实例 // 以下代码均有警告 a = null // 警告:不能将类型“null”分配给类型“Object” a = undefined // 警告:不能将类型“undefined”分配给类型“Object”</code></pre> <p>3.实际开发中,限制⼀般对象,通常使⽤以下形式</p> <pre><code>// 限制person对象的具体内容,使⽤【,】分隔,问号代表可选属性 let person: { name: string, age?: number} // 限制car对象的具体内容,使⽤【;】分隔,必须有price和color属性,其他属性不去限制,有 没有都⾏ let car: { price: number; color: string; [k:string]:any} // 限制student对象的具体内容,使⽤【回⻋】分隔 let student: { id: string grade:number } // 以下代码均⽆警告 person = {name:'张三',age:18} person = {name:'李四'} car = {price:100,color:'红⾊'} student = {id:'tetqw76te01',grade:3}</code></pre> <p>4.限制函数的参数、返回值,使⽤以下形式</p> <pre><code>let demo: (a: number, b: number) =&amp;gt; number demo = function(x,y) { return x+y }</code></pre> <p>5.限制数组,使⽤以下形式</p> <pre><code>let arr1: string[] // 该⾏代码等价于: let arr1: Array let arr2: number[] // 该⾏代码等价于: let arr2: Array arr1 = ['a','b','c'] arr2 = [1,3,5,7,9]</code></pre>

页面列表

ITEM_HTML