Re: [討論] 請大家聊聊 JavaScript的缺陷
我覺得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); // 懂了很簡單,但不懂就覺得奇怪
--
--
原型鏈要搞懂,也是有點複雜,暈,this也是麻煩
還是我們C#最NICE惹
推
js兩大噩夢 ─ 奇怪的原型鍊和怪里怪氣的轉型
10種人寫js會有11種寫法
然後很多code都看不懂 很不方便
prototype, this, new 應該是js三大致命缺陷,完完全全
的設計失敗。
能意識到的就很不錯了,很多碼農還會敝帚自珍地把語言
的坑當成寶
lua也是原型鏈繼承,但其metatable的設計比js混亂的prot
otype, __proto__, [[Proto]], constructor優雅約一百
倍吧…
this和new則是更加愚蠢的機制。如果你想自創一門新語言
,然後你刻意加兩個專門雷人的規則,也很難比js的this和
new還雷。
習慣了反而覺得 new ES6 Class 比 ES5 new function 還難寫
用來 new 的 function , 其內部沒用 this 指的 function
在原本的 scope 內就不會有端口接出去,屬於私有範圍
要指出去的就 this.xxx = function 用就好了
它的 new 設計用習慣了反而覺得很理所當然
C#我也在玩,在unity裏面,不過網頁前端目前仍然以JS為
主,不然只能祈禱哪天Blazor的排名與React相當,畢竟是
M$爸爸維護的東西,應該是前途有望才是。
話說原型鏈,自從ES6出了class之後就沒在用了。
.Net 的東西這輩子注定不可能成為前端主流
Blazor研究一下。比javascript好寫幾萬倍
We assembly 已經成為主流標準我等著看javascript沒
落變成和flash一樣落
看了一下webassembly的wiki, 在Ending定律那段還真有夠
酸 XDD 有興趣的可以去看一下
this 真的是個大坑...
Blazor算是c#的框架唄,可以跟react比比看哪個比較好?
Js再爛也輪不到.net講話
js 爛輪不到 c# 講話? 同溫層很厚喔 是不是常看 fb 後端版
樓上,我這兩年每天看都沒覺得那邊有在批判c#,這無
關社團
正好戰得火熱的時候是兩年前 戰完版主還會小酸一下別家
說自己不是針對軟軟喔 直到最近看到有人訝異 mssql 為何
市佔極高,我才知道那的同溫層有多厚
那看來是我沒跟到,可惜不能拉板凳看戲(?)論同溫層
的話,如果只待一個地方就一定會進入,無論何處都一
樣,這裡不也是四大資工碩刷題至上嗎?
待久了會覺得每個人都進faang拿年薪百萬呢!
3
npm 的問題,我試著安裝了一下 因為說是去年7月遇到的,所以我使用 2020/06/30 發佈的 node 12.18.2 搭配 npm 6.14.5 在只有裝 archiver-utils 的情況下,他很平,可能比我婆軟體還平 archiver-utils 底下沒有 node_modules , readable-stream 底下也沒有34
在開始之前,先說個笑話 ※ 引述《keev (a)》之銘言: : 我會試著反駁 互相交流 然而下面這串推文直接被無視 : 推 vi000246: 還要學打包工具 好麻煩 11/03 00:222
聽到你說 C# 一樣有 js 四捨五入的問題,我驚呆了,你肯定沒有嘗試過,沒關係,我幫 你試過了! 真不知道你的自信哪裡來的 我承認浮點數是個棘手的問題,但是有的語言會謹慎處理,有的語言就是隨便處理,事實X
其實我覺得戰場大家自己拉開的亂七八糟, 我也不過就是逐一回覆, autocomplete 我也說了根本不是語言的重點, 是其他人重視,這樣可以說你們在討論缺陷, 我在討論 autocomplete 我也覺得是有趣。3
你完全搞不清楚狀況喔。 dotnet 的 Math.Round() 預設是 四捨六入(五遇到前面為基數才進位)的設計,也就是 銀行家捨入法,也就是第三個參數為 ToEven 模式,我指定 AwayFromZero 是因為想走四 捨五入。 拔掉這個,走四捨六入也行,dotnet 就是照本宣科來,根本沒有你說的浮點數精確錯誤3
JavaScript 的概數運算確實沒有實作 IEEE 754 的標準, IEEE 754 中,Nearest value rounding 的方法有兩種: 1. Banker's rounding - 取到最接近的「偶數」 2. 取到最遠離 0 的數(效率佳) 但搞不清楚狀況的是對該語言不熟就隨便拿一個 function 來做概數的人,1
其實我上一篇已經有提到 Rounding mode 的選擇是關鍵了了, 然後那個不叫四捨六入...... 另外 tofixed 又誰跟你說他是四捨五入了.... 他是用浮點數的定位表示法(fixed-point notation) 計算的, 詳細實作有點囉嗦, 自己翻論文.8
不太認同, 如果今天的task是計算1加到10000 從紙上開始 1 + 2 + 3...一直算到10000可以解決問題 用等差數列的公式也可以解決問題 寫段code直接寫個function讓function可以支援不同的min, max也同樣能解決問題 這些方法都能解決問題?難道他們都是好方法嗎?17
我想 auto complete 可以算是開發工具的部分 (我猜任何語言理論上都可以有 auto complete,所以和語言本身無關) 而且在這篇沒看到原原 Po 提到,暫不討論 : 而且我還是那句話, 你今天碰到 ts 世界以外的模組, : 你是要怎麼 autocomplete 跟省時間.2
project scan 就是需要時間, 你檔案數多到一個程度, 就是慢. webpack 有那麼多 tooltip 再加速效能, 難道是假的. 說真的, 這段話反過來說也是可以還給你的. 連自己的 type 跟 convention 都掌握不好的, 是有什麼好靠邀的. 另外 js 的 autocomplete,
33
[心得][英文] 如何命名「刪除」功能「刪除(delete)」是資料處理 CRUD 四大基本項目之一。 這篇文章收錄了幾個與「刪除」有關的程式設計常用字,以及回答讀者相關問題。 * 如何命名「刪除」功能? * Clear / Empty / Delete / Remove * 有什麼不一樣?5
Re: [請益] 比物件導向更先進的程式設計思想?JavaScript 是一個基於原型(Prototype-based)的程式語言 在本質上很難將它歸類為程序導向語言,或是物件導向語言 類別: JavaScript 中沒有類別(Class)的概念,但是有物件(object)的概念 而這個物件概念的物件,則是以GUI的 Widget為主9
Re: [問卦] 自學C跟C++推薦哪個教材這問題...如果不是大一計算機程式教授要特別選一個配合長期發展的語言, 那麼以一般人來說,要先考慮的是你想做什麼事情 確認了你想做什麼事情之後,去問你認識的在做那些事情的人他們用什麼程式語言, 然後從那個程式語言開始學一個段落。接著就可以開始做你想做的事情了 Java Python C C++ 這四個要選一個當起點當然是 C 最好。9
[問卦] 台灣怎麼沒人戰javascript?台灣宅宅最喜歡戰別人用什麼程式語言了 現在好像都是戰python 但javascript這個難用的語言,怎麼沒什麼人戰? 哪個平行宇宙是不用javascript來web dev的,想去。 --9
Re: [討論] 請大家聊聊靜態語言的缺點問靜態和動態有缺點。怎麼不想想你公司是怎樣型態 如果你們公司成員 新舊和程度不一樣 就需要靜態語言處理程式,強制要成員遵守並規範。只要規範好,一般猴子也會按照著寫程 式。 動態語言吃的是開發人員素質,要自律,要對程式碼負責。3
Re: [問卦] 寫web程式的都怎麼再讓自己進步呢?JavaScript 的東西一直在變 其實是追不完的 有時候框架原開發者沒繼續維護 或是出現不相容的大改版 使用者就跟著一起沉船- 學程式可以幹嘛呢? 可以成為問題解決者,讓生活與工作更有效率! 想做出厲害網頁前端的你,可以來JavaScript一下 JavaScript 是一種互動式前端網頁程式語言 通常會結合網頁事件(Event)進行操作,