lgwebdream / FE-Interview

🔥🔥🔥 前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器
https://lgwebdream.github.io/FE-Interview/
Other
6.76k stars 897 forks source link

> > > @Genzhen 请教一下大佬,如果在render里面结构赋值也会影响性能吗?比如 const { page, size } = this.state这种的? #1230

Open yoguang opened 2 years ago

yoguang commented 2 years ago

@Genzhen 请教一下大佬,如果在render里面结构赋值也会影响性能吗?比如 const { page, size } = this.state这种的?

其实你在使用的时候在render中需要用到state的时候,你使用的时候肯定是必须要拿state上的值,如果不解构,就要使用this.state.xxx的方式,每次render的时候每一个在state上的值都需要从this上找,再从state上找,这样其实会更慢。所以解构出来的方式比直接使用this.state.xxx的方式是更合适的。

你好,我想请教下,const {page,size}= this.state 这样的取值方法 与 直接访问this.state.page 性能上的差异是因为每次都要从原型链查找过去吗(这个是叫原型链吗),这一步的优化是否与const page=this.state.page ,之后都使用这个page,优化原理一样,不用每次使用都一级一级找下去

性能的优化可以抛开不谈吧,差别并没有多少。解构出来更多的其实是简洁和可读性吧。

Originally posted by @yaohuangguan in https://github.com/lgwebdream/FE-Interview/issues/12#issuecomment-836216731

Ha0ran2001 commented 1 year ago

这个也有性能问题?而且this.state.page的查找不属于从原型链上查找,这不是从对象上查找吗