昨晚朋友圈已经被连麦尤大的直播刷屏了,主要就是答答疑,聊聊天~ 总共大概聊了一个半小时。给你们看看帅气的尤大
我也抱着「学习」、「长见识」的态度去直播间听了一个多小时(因为前半段有事,所以没能来得及赶上开场),说真的,虽然只听了一个多小时,但是收获还是很大的,这里也凭借着我7秒钟的记忆,记录下了一些尤大的一些答疑和闲聊
本文不是100%的原话复述,也略微掺杂了一些个人看法,当然接下来所有括号()
中的内容都是我自己加的,是为了你们更好得阅读
尤大,对于看源码你怎么看?
这个问题是我在进入直播间以后,弹幕呼声最高的问题了,尤大也对此进行了一番解释
「尤大」: 我觉得没有那么大的必要非说要去看源码,主要还是要看你去看源码是为了什么,是学习框架的思想吗?
「弹幕1」: 面试!
「弹幕2」: 面试!
...
「弹幕n」: 面试!
这里一阵无奈的笑飘过~
「尤大」: 感觉现在还是比较卷的,都说为了面试去看源码,其实无非是为了想提升自己的行业竞争力....(后面吧啦吧啦说了啥我也记不太清了,那就谈谈我自己的个人看法吧)
「个人看法」: 其实很多前端程序员在公司做的都是偏业务层面的,根本接触不太到很深层次的,看源码为了提升竞争力可以说是很真实了,但抛去这点,看源码还是奔着几个比较关键的点去比较好:第一,想要学习框架的思想或者你也想自己造框架、造轮子(尤大直播中说非常鼓励造轮子,还是挺好的);第二,为了业务,比如因不熟悉框架的一些原理而在写业务时产生那种不那么表面的问题,主要还是想提升自己的工作效率(毕竟谁也不想对着一个不知道怎么冒出来的bug想一整天,最后发现是自己的对于框架的原理不熟悉而导致使用不当)
对于响应式,Vue3改用proxy来实现,对于开发有什么提升吗?
「尤大」: 首先对于开发来说,最大的提升就是可以不用去考虑数组、对象的一些变化了,都可以很好得实现响应式,同时也支持了WeakSet
、WeakMap
这样的数据结构。
「尤大」: 其次呢,proxy
实现响应式其实是将一个raw对象(原始对象)包装了一层,产生了一个新的对象,这个对象跟原始对象是不相等的,也就是说,可能会存在原始对象占用内存并且无法释放的问题,所以建议你们在将一个对象声明响应式时,尽量不要用任何的变量去引用原始对象,而是直接将该对象放在reactive
中
这里对于尤大的解释,我用两段代码来简单演示一下吧
「不太推荐的做法」
代码语言:javascript复制<script>
import {reactive} from 'vue'
export default {
setup() {
let obj = { name: '零一', age: 23 } // 原始对象
const state = reactive(obj) // 将obj包装成响应式
return {state}
}
}
</script>
「推荐的做法」
代码语言:javascript复制<script>
import {reactive} from 'vue'
export default {
setup() {
// 不再先声明原始对象
const state = reactive({ name: '零一', age: 23 })
return {state}
}
}
</script>
尤大,如何看待程序员从幼稚到成熟?
该问题来自于尤大之前知乎点赞了的一个问题的回答
「尤大」: emmm,我点赞过吗?(不碍事不碍事)我认为一个凡是会说 「xxx技术是最牛逼的,xxxx技术就是垃圾」 的程序员其实是很不成熟的,因为他们但凡做过很多项目,维护过一个屎山