98: 名無しさん 2019/09/29(日) 18:05:57.66 ID:???
functionって全部アロー関数で書いてもいいですか?問題ある?







100: 名無しさん 2019/09/29(日) 18:14:16.91 ID:???
>>98 
巻き上げとthisにだけ気をつければ

99: 名無しさん 2019/09/29(日) 18:13:33.81 ID:???
node.js入れてbabel入れとけば問題ないよ

101: 名無しさん 2019/09/29(日) 18:40:51.74 ID:???
式と宣言があるfunctionと違いアロー関数は式のみで宣言はない。 
巻き上げにfunction式とアロー関数式に違いはない。 
注意すべきはthisのみで、巻き上げに云々は関係ない。(var f = function(){};もvar f = () => {};も同じ)

104: 名無しさん 2019/09/29(日) 19:48:24.05 ID:???
>>101 
なんで宣言を省いてしまうのか

102: 名無しさん 2019/09/29(日) 18:52:14.46 ID:???
argumentsにも要注意

103: 名無しさん 2019/09/29(日) 19:00:02.27 ID:???
そうだったね。 
105: 名無しさん 2019/09/29(日) 21:42:22.70 ID:???
そこは考え方や範囲の違いだから深く突っ込まなくていいよ 
どうせ分かり会うことはないだろうから

106: 名無しさん 2019/09/29(日) 22:13:33.79 ID:???
functionをアロー関数にするのだから当然宣言も含まれる 
考え方以前の問題だろ

107: 名無しさん 2019/09/29(日) 23:22:17.96 ID:???
アロー関数の趣旨は無名関数を簡単に書けるようにすること。 
で、無名関数はfunctionでも式としてしか書けない(() => {}に対してfunction(){}) 
嘘だと思うなら>>106はfunction(){}を宣言文で書いてみろよw 
function f(){}は有効な関数宣言だけど 
function(){}はすぐGC対象になる関数式だぞw

114: 名無しさん 2019/09/30(月) 18:21:55.03 ID:???
prototypeって継承じゃね?

115: 名無しさん 2019/09/30(月) 20:47:37.82 ID:???
プロトタイプ(__proto__)の仕組みは、自分が預かり知らないことを 
全てプロトタイプ先に任すというものなので継承ではなく委譲 
prototypeプロパティは委譲させられるものを定義する場所で 形として継承がさせているように見える

117: 名無しさん 2019/09/30(月) 21:45:08.07 ID:???
>>115 
その継承と委譲の区別意味あるか?

128: 名無しさん 2019/10/01(火) 12:44:09.15 ID:???
>>115 
> 全てプロトタイプ先に任すというものなので継承ではなく委譲 

全てを任せてないだろ



116: 名無しさん 2019/09/30(月) 21:11:34.38 ID:???
継承でも委譲でもなく、参照が連鎖するだけ

118: 名無しさん 2019/09/30(月) 22:38:25.40 ID:???
継承や委譲は考え方。 
__proto__は実装方法。 

C言語で例外を実装するときにgotoを使う 
というのと同じように、__proto__を使って継承や委譲するだけに過ぎない

119: 名無しさん 2019/09/30(月) 23:59:30.08 ID:???
昔は__proto__は仕様じゃなかったのになー

120: 名無しさん 2019/10/01(火) 01:33:00.24 ID:???
> 全てプロトタイプ先に任すというものなので継承ではなく委譲 

全くしっくり来ないわ 
jQuery#proxyでも委譲云々を唱える奴がいたが、ただの宗教論にしか聞こえない

121: 名無しさん 2019/10/01(火) 02:02:51.67 ID:???
なんでそこでjQuery#proxyがでてくるのかわからん 

継承は親クラスから機能を受け継ぐもので 
委譲は処理を別のものにさせるものってだけじゃないか 

その実装がどうなってるかは関係ないし、 
継承、委譲の考え方に、それらを実現するときに使う道具も関係ない

123: 名無しさん 2019/10/01(火) 08:34:06.08 ID:???
>>121 
proxyは過去いってた奴がいただけで俺も賛同してない

125: 名無しさん 2019/10/01(火) 12:02:55.17 ID:???
>>121 
> 継承は親クラスから機能を受け継ぐもので 

はいダウト。「親クラスから機能を受け継ぐ」というのはのはクラスベースオブジェクト指向固有の考え方。 

> その実装がどうなってるかは関係ないし、 

と自分で書いてるのに語るに落ちたなw

124: 名無しさん 2019/10/01(火) 09:51:13.25 ID:???
賛同するかしないかじゃなくて、 
今の話に関係ない話だろってこと
127: 名無しさん 2019/10/01(火) 12:41:02.47 ID:???
> 「親クラスから機能を受け継ぐ」というのはのはクラスベースオブジェクト指向固有の考え方。 

これが間違い。プロトタイプベースでも「親クラスから機能を受け継ぐ」ことは継承になる。 クラスに相当するものがあって、それを引き継ぐならどんな実装でも継承

129: 名無しさん 2019/10/01(火) 15:09:28.94 ID:???
>>127 
「クラスに相当するもの」というのがクラスベース脳から見たらそう見えるというだけ。 
130: 名無しさん 2019/10/01(火) 19:31:44.69 ID:???

iPad Air 3(2019)の説明と仕様 | iPod/iPad/iPhoneのすべて Apple iPad Air (10.5-Inch, Wi-Fi + Cellular, 64GB) - Space Gray (3rd Generation) (2019) (Renewed)お値下げしました iPad エアー3 64GB 3 Air タブレット iPad Air 3 レビュー!iPad(第8世代)との違いを比較! | シンスペース 2019年新型 iPad Air(第3世代)レビュー:高スペックで価格も安く実用 Apple iPad Air (10.5-inch, Wi-Fi, 64GB) - Silver (3rd Generation) (2019) (Renewed) Apple 10.5-Inch iPad Air (3rd Generation) with Wi-Fi 64GB - Best Buy 更新】iPad Air 第4世代 vs 第3世代 スペック比較 - iPhone Mania 価格.com - 『カラーバリエーション』 iPad Air 10.5インチ 第3世代 Wi Apple iPad Air (10.5-inch, Wi-Fi, 64GB) - Silver (3rd Generation) (2019) (Renewed) iPad Air(第4世代)』と『iPad Air(第3世代)』の比較/違い | iPad Wave iPad Air (2019)」と「iPad Air 2」の違い - フォトスク iPad Air3 アイパッド エアー第3世代WI-FI 64GB 美品 新発売の グレイ系品多く iPadエアー3 WI-FI 64GB 2019 タブレット PC 新型iPad Air 4と3の違いを徹底比較!スペック・価格はどう変わった 42%割引人気新品 iPad Air3 64GB スペースグレー Wi-Fiモデル iPad 最新のiPad Air 4を第3世代と比較してのレビュー | Arto Explore 45%割引ホワイト系宅配便配送 iPad air WI-FI 64GB アイパッド エアー ホワイト系最高の品質の iPad Air3 ピンク エアー3 タブレット PC レビュー】iPad Air 3(2019)買ったけど、いいとこも悪いとこもあるな ブランド iPad 64GBスペースグレーの通販 by arama0's shop|アイ Best Buy: Apple 10.5-Inch iPad Air (3rd Generation) with Wi-Fi iPad Air 3 64GB エアー3 国内即発送 iPad Air3 64GB ケース付き iPad Air (2020)」と「iPad Air (2019)」の違い - フォトスク iPad Air (3rd generation) - Wikipedia Apple MM6V3J-A iPad【iPad Air/10.9インチ/第5世代/Wi-Fi + Cellular ST-00339 Apple iPad Air 3 第3世代 64GB Wi-Fiモデル 2019 A2152 36%割引ブルー系かわいい新作 iPad Air3 アイパッドエアー3 WI-FI 37%割引高級ブランド iPad Air3 64GB スペースグレー Wi-Fiモデル iPad Air 2 - Technical Specification コンテンツ中毒者が「iPad Air」を2か月間使い倒してわかった10のこと iPad Air(第3世代)』と『iPad Pro(10.5インチ)』の比較/違い | iPad Wave アイパッド エアー(iPad Air)の新品・未使用品・中古品(3ページ目 iPad Air (第3世代) - 技術仕様 (日本) iPad Air Wi-Fiモデル 64GB - スペースグレイ(第3世代) [整備済製品

>>129 
だから継承はクラスベースのクラス相当のものための用語なんだが? 
継承=クラスベースなんだよ 

正確に言えばプロトタイプベースでもクラスは作れるが、以前のJavaScriptは 
独特のルールを守って実装しなければいけないから面倒だった。 
このJavaScriptでクラスが作りづらいというのはJavaScriptの制限であって 
プロトタイプベースの制限ではない 
クラスに相当するものは、クラスベースでもプロトタイプベースでも(それ以外)でも存在する。 

プロトタイプベースだからクラスがないと考えるのは、お前が持ってるバイアスにすぎない。
133: 名無しさん 2019/10/01(火) 21:53:02.44 ID:???

買い販売店 iPad エアー3 64GB 3 Air PC/タブレット タブレット

何が制限だバカバカしい。クラスの存在を前提としないプロトタイプベースのオブジェクト指向でクラスが作りにくくて何が悪い。 
134: 名無しさん 2019/10/01(火) 22:17:51.61 ID:???
JSではクラスは作りやすいでしょ 
class構文入ってるんだから

137: 名無しさん 2019/10/01(火) 23:38:57.86 ID:???
>>134 
それな。プロタイプベースってのは内部の実装に過ぎず 
class構文を使えば、プロタイプベースでクラスを容易に実装できる。 

昔はclass構文がなかったから、クラスを実装するのは容易ではなかったが 
別に実装できなかったわけじゃない。

140: 名無しさん 2019/10/02(水) 07:30:49.80 ID:???
>>137 
> それな。プロタイプベースってのは内部の実装に過ぎず 

仕様を無視した、プロトタイプベースじゃないJavaScript実装が存在するの?

144: 名無しさん 2019/10/02(水) 08:48:24.77 ID:???
文言は細かく見よう 

>>137 
> それな。「プロタイプベース」ってのは内部の実装に過ぎず 

>>139 
> 最初から糖衣構文を使うことで、「プロタイプベース」でも 

「プロトタイプベース」ではなく、「プロタイプベース」と書いてる(バグリング君も似たようなことをしたな) 
仕様を知らないので、「内部の実装」と知ったかぶりをする

135: 名無しさん 2019/10/01(火) 22:30:09.91 ID:???
クラス構文はおじいちゃん介護構文




136: 名無しさん 2019/10/01(火) 23:36:55.25 ID:???
Math.random()が0を返す確率はどれくらいですか?

171: 名無しさん 2019/10/09(水) 20:00:43.15 ID:???
>>136 
1/2^64じゃね?

おととい来てね、おじいちゃん?ww

139: 名無しさん 2019/10/02(水) 03:27:22.39 ID:???
>>138 
糖衣構文だから、どういうこと? 

最初から糖衣構文を使うことで、プロタイプベースでも 
クラスが書きやすくなったって話をしてるよね?
「CでもGC相当のものは実装できるからCはGC言語と言える!」
143: 名無しさん 2019/10/02(水) 08:23:10.93 ID:???
ECMAScript仕様って、「プロトタイプベース」ではないの?

145: 名無しさん 2019/10/02(水) 08:56:21.86 ID:???
うん実装じゃなくて仕様だよねw

146: 名無しさん 2019/10/02(水) 12:54:52.05 ID:???
クラスベースっていうのはクラスから逃れられない言語ということであって、 
民主主義国家でなくても民主主義はあるしできるように、 
JSでも当然クラスという概念は持ち出せるし、構文にまでなってるんだから、 
JSにクラスというものは当然に存在すると考えるのが合理的

147: 名無しさん 2019/10/02(水) 13:24:23.64 ID:???
つまりC言語にもクラスは当然存在する。実装できるからw

150: 名無しさん 2019/10/02(水) 20:09:00.24 ID:???
>>147 
クラスというのは概念なので 
クラス専用の構文がないC言語でも 
クラスの概念を導入したコードを書ける。 

というのが正しいかな 


以前のJavaScriptでもクラスの概念を導入することは可能だったし 
newがあるんだから、クラスの概念を使うのが普通だった。 

それに加えて最近のJavaScriptではクラス専用の構文が加わり 
クラスを導入したコードが簡単にかけるようになった。

148: 名無しさん 2019/10/02(水) 19:14:52.98 ID:???
クラスを実装していないC言語にクラスは存在しない。あたりまえ。
151: 名無しさん 2019/10/02(水) 20:57:14.92
JSONの発明者ダグラスクロックフォードはJSへのクラス構文導入に大反対だった。 
https://qiita.com/ikedaosushi/items/45652e53c06c761d8137 

奇しくもクラス大好き言語JavaはXML大好きである。 
クラスおじいちゃんはJSONを使わないように。

同様に、C など、オブジェクト指向ではない言語でも、 
苦労すれば、オブジェクト指向で書ける 

でも、そういう言語は、オブジェクト指向とは言わない 

オブジェクト指向の言語とは、オブジェクト指向を簡単に書けるものだけ。 
つまり、クラス構文を持つものだけ!



153: 名無しさん 2019/10/02(水) 22:49:16.01 ID:???
クラス構文は介護用言語の証。 
go言語もhaskellもクラス構文なんてない。 
一方jsはes2015でおじいちゃん介護言語に成り果ててしまった…

154: 名無しさん 2019/10/02(水) 23:10:49.03 ID:???

買い販売店 iPad エアー3 64GB 3 Air PC/タブレット タブレット

Rustもクラス構文なんて無いね。 
イケてる言語はみんなない。 脳死でJavaパクったRubyみたいな要介護言語なんかとは心意気が違う。 
JSも同類になったww

155: 名無しさん 2019/10/02(水) 23:34:04.10 ID:???
go言語もhaskellもクラス構文なんてない。 
だからオブジェクト指向言語ではない。 
第二級言語

156: 名無しさん 2019/10/02(水) 23:35:03.38 ID:???
> Rustもクラス構文なんて無いね。 
> イケてる言語はみんなない。 

イケてない言語では? 
議論に参加して良いのはイケてる言語になってからだよ。

157: 名無しさん 2019/10/05(土) 21:34:03.68
webSQLって開発とまってるらしいけど 
いちおうひととおり使えるれべるにはなってるかな? 
indexedDBがわけわからんしSQLの勉強もかねてつかってみたいんだけどどうなんだろ

159: 名無しさん 2019/10/06(日) 02:52:19.19 ID:???
>>157 
廃止が決まってからも長い間残されてたけどchromeは遂に次のバージョンから削除されるってよ。

158: 名無しさん 2019/10/05(土) 22:15:45.62 ID:???
止まってるんじゃなくて放棄されてる 
IndexedDBが堅苦しいなら使いやすいライブラリを探す事をおすすめする 
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API#See_also

161: 名無しさん 2019/10/06(日) 09:51:57.47 ID:???
いい機会だから覚えなよ。tone.js使うとか…

164: 名無しさん 2019/10/06(日) 18:02:13.55 ID:???
>>161 
そういたします… 情報がそれほど多くなく説明が専門的で理解できるか微妙ですが ありがとう