new 一个构造函数,如果函数返回不同类型的值,结果会如何?

x33g5p2x  于2022-03-28 转载在 其他  
字(0.5k)|赞(0)|评价(0)|浏览(304)

一、写在前面
我们都清楚对于一个构造函数,执行new操作时,内部执行哪些操作。但是如果在执行完操作之后,返回值不同,此时返回什么值。接下来我们将总结一下。
二、返回不同的值
2.1、什么都不返回

  1. function Person() {
  2. }
  3. let p1 = new Person()
  4. console.log(p1) //Person {}

2.2、返回一个新的对象

  1. function Person() {
  2. return {
  3. name: "1234"
  4. }
  5. }
  6. let p1 = new Person()
  7. console.log(p1) //{name: '1234'}

2.3、返回一个原始值

  1. function Person() {
  2. return 111
  3. }
  4. let p1 = new Person()
  5. console.log(p1) // Person {}

2.4、返回null

  1. function Person() {
  2. return null
  3. }
  4. let p1 = new Person()
  5. console.log(p1) // Person {}

2.5、返回true

  1. function Person() {
  2. return true
  3. }
  4. let p1 = new Person()
  5. console.log(p1) // Person {}

相关文章