js:Class对象中的函数,在使用 this 时理解

目录

第一种:通过实例调用函数时:

第二种:通过解构实例调用函数时:

1、函数声明的时,按普通声明函数的形式进行声明:

 2、函数声明时,使用箭头函数的形式


第一种:通过实例调用函数时:

class My {
	add(a) {
		console.log(this)
	}
}
const my = new My()
my.add(3)

当调用函数时,打印出这个 this ,结果时实例本身:

第二种:通过解构实例调用函数时:

1、函数声明的时,按普通声明函数的形式进行声明:

class My {
	add(a) {
		console.log(this)
	}
}
const {add} = new My()
add(2)

将实例对象 My 解构出属性 add,当调用这个解构的值的时候,将 this 打印出来,结果是:undefined

 2、函数声明时,使用箭头函数的形式

class My {
	add = (a) => {
		console.log(this)
	}
}
const {add} = new My()
add(2)

运行结果是,这 this 是对象My 的实例:

猜你喜欢

转载自blog.csdn.net/A88552211/article/details/125487279