PTT推薦

Re: [討論] 請大家聊聊 JavaScript的缺陷

看板Soft_Job標題Re: [討論] 請大家聊聊 JavaScript的缺陷作者
oopFoo
(3d)
時間推噓12 推:12 噓:0 →:33

我覺得Javascript最大的問題是它是prototype語言,大家不習慣,尤其從class based語言來的人。

像我上禮拜在看web component的時候,看不懂一段程式。
https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
https://reurl.cc/d5llbz

if (this.hasOwnProperty(prop)) {
let value = this[prop];
delete this[prop];
this[prop] = value;
}

研究好久才明白
let value = this[prop]; // 這個是instance 的prop.
delete this[prop]; //砍掉
this[prop] = value; //使用prototype 的set function.

也順便懂了以前看不明白的一個程式
this.clickClose = this.clickClose.bind(this); // 懂了很簡單,但不懂就覺得奇怪

--

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.96.183 (臺灣)
PTT 網址

dreamnook11/09 19:48

x246libra11/09 20:36原型鏈要搞懂,也是有點複雜,暈,this也是麻煩

Tenno08111/09 20:51還是我們C#最NICE惹

shaomi11/09 20:53

dream112411/09 21:09js兩大噩夢 ─ 奇怪的原型鍊和怪里怪氣的轉型

OhNo38611/09 22:0610種人寫js會有11種寫法

OhNo38611/09 22:09然後很多code都看不懂 很不方便

CaptainH11/09 22:49prototype, this, new 應該是js三大致命缺陷,完完全全

CaptainH11/09 22:49的設計失敗。

CaptainH11/09 22:50能意識到的就很不錯了,很多碼農還會敝帚自珍地把語言

CaptainH11/09 22:50的坑當成寶

CaptainH11/09 22:53lua也是原型鏈繼承,但其metatable的設計比js混亂的prot

CaptainH11/09 22:53otype, __proto__, [[Proto]], constructor優雅約一百

CaptainH11/09 22:53倍吧…

CaptainH11/09 23:03this和new則是更加愚蠢的機制。如果你想自創一門新語言

CaptainH11/09 23:03,然後你刻意加兩個專門雷人的規則,也很難比js的this和

CaptainH11/09 23:03new還雷。

shter11/10 00:38習慣了反而覺得 new ES6 Class 比 ES5 new function 還難寫

shter11/10 00:39用來 new 的 function , 其內部沒用 this 指的 function

shter11/10 00:39在原本的 scope 內就不會有端口接出去,屬於私有範圍

shter11/10 00:40要指出去的就 this.xxx = function 用就好了

shter11/10 00:40它的 new 設計用習慣了反而覺得很理所當然

※ 編輯: oopFoo (101.137.203.237 臺灣), 11/10/2020 06:32:23

jobintan11/10 07:09C#我也在玩,在unity裏面,不過網頁前端目前仍然以JS為

jobintan11/10 07:11主,不然只能祈禱哪天Blazor的排名與React相當,畢竟是

jobintan11/10 07:11M$爸爸維護的東西,應該是前途有望才是。

jobintan11/10 07:12話說原型鏈,自從ES6出了class之後就沒在用了。

visa952711/10 11:48.Net 的東西這輩子注定不可能成為前端主流

samuel198811/10 13:36Blazor研究一下。比javascript好寫幾萬倍

samuel198811/10 13:37We assembly 已經成為主流標準我等著看javascript沒

samuel198811/10 13:37落變成和flash一樣落

meowyih11/10 14:20看了一下webassembly的wiki, 在Ending定律那段還真有夠

meowyih11/10 14:20酸 XDD 有興趣的可以去看一下

BBSealion11/10 15:41this 真的是個大坑...

jobintan11/11 07:13Blazor算是c#的框架唄,可以跟react比比看哪個比較好?

feveral11/11 11:24Js再爛也輪不到.net講話

alihue11/11 18:08js 爛輪不到 c# 講話? 同溫層很厚喔 是不是常看 fb 後端版

newhandfun11/11 19:01樓上,我這兩年每天看都沒覺得那邊有在批判c#,這無

newhandfun11/11 19:01關社團

alihue11/11 19:16正好戰得火熱的時候是兩年前 戰完版主還會小酸一下別家

alihue11/11 19:17說自己不是針對軟軟喔 直到最近看到有人訝異 mssql 為何

alihue11/11 19:18市佔極高,我才知道那的同溫層有多厚

newhandfun11/11 22:24那看來是我沒跟到,可惜不能拉板凳看戲(?)論同溫層

newhandfun11/11 22:25的話,如果只待一個地方就一定會進入,無論何處都一

newhandfun11/11 22:25樣,這裡不也是四大資工碩刷題至上嗎?

newhandfun11/11 22:26待久了會覺得每個人都進faang拿年薪百萬呢!