请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

1回答

class Customer {

  custnamestring

  agenumber

}

interface Animal {

  namestring

}


// 常见对象的值

// 接受类对象

let custobject = new Customer();

// 接受接口类型的对象

let animalAnimal = { name: "燕子" }

// 接受普通对象

let objobject = {}


// null 和 undefined 只能传递给 unknown 和 any 类型

let str1unknown = null

let str2any = undefined

0 回复 有任何疑惑可以回复我~
  • 提问者 慕侠8534226 #1
    老师,我可能没说清楚,我想说的是开头大写的Object,不是object。你在视频里面说了开头大写的Object,是所有类的父类,能当作any来用。我试了下,类型为Object的变量是可以赋值为对象,也可以赋值为字符串和数字的,但是不能赋值为null和undefined,赋值为对象很好理解,可是赋值为字符串和数字,有点难以理解
    回复 有任何疑惑可以回复我~ 2021-10-20 11:03:35
  • keviny79 回复 提问者 慕侠8534226 #2
    1. 首先要知道 let str:String="abc" 是可以的,而大写的 Object 类型 是 从 js 顺延 过来的,当我们 let obj:Object="abc"   TS 会解析"abc"是 String 类型的 "abc",如下:
    let obj: Object = "abc"   会被解析成下面
    let objSame: Object = new String("abc") 【类似Java的装箱】
    
    2. js 中console.log(String.prototype.__proto__ === Object.prototype) 是返回 true
    
    3.  一个父类的Object 接受一个子类的字符串对象自然是可以的
    回复 有任何疑惑可以回复我~ 2021-10-20 16:21:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信