16.new运算符 和 面向对象总结
new运算符
new运算符是创建对象时使用的运算符
使用new时,到底发生了哪些事情:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new
当使用new去调用一个函数时,这个函数将会作为构造函数使用,
使用new调用函数时,将会发生这些事:
- 创建一个普通的JS对象(Object对象{ }),为了方便,称其为新对象
- 将构造函数prototype属性设置为对象的原型
- 使用实参来执行构造函数,并将新对象设置为函数中的this
- 构造函数的返的是一个非原始值,则该值作为new运算的返回值返回(千万不要这么做)
- 如果构造函数返回的是一个原始值或没有指定返回值,则新的对象将会作为返回值返回
通常不会为构造函数指定返回值
<script>
class Person {
// 属性
name
age
// 构造函数
constructor(name, age) {
this.name = name
this.age = age
// return {} 返回空对象(不建议写返回值)
}
}
const p = new Person("小明", 18)
console.log(p)
</script>
面向对象总结
面向对象本质就是,编写代码时所有的操作都是通过对象来进行的。