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:???

G153-I4-9401 銀河鉄道999 セル画 5点セット 額装 松本零士 メーテル 銀河鉄道999 メーテル 松本零士 セル画 原画 動画 線画 東映動画 東映アニメーション 雪野弥生 新竹取物語1000年女王 セット 37%割引史上一番安い わが青春のアルカディア 無限軌道SSX 幽霊船セル 2022年最新】セル画 銀河鉄道999の人気アイテム - メルカリ Amazon | レトロ5点セットセル画 原画銀河鉄道999 (星野鉄郎) | アニメ 銀河鉄道999 メーテル 松本零士 セル画 原画 動画 線画 東映動画 東映アニメーション 雪野弥生 新竹取物語1000年女王 セット 銀河鉄道999 TV版セル画6枚セット の落札情報詳細| ヤフオク落札価格 定番のお歳暮&冬ギフト ◎【セル画】劇場版「さよなら銀河鉄道999 レトロ5点セット セル画 原画 銀河鉄道999 星野鉄郎(銀河鉄道999 希少!!】 入手困難品 昭和レトロ アニメ 4種セット 未開封 80年代 週刊少年キング増刊 銀河鉄道999 アニメ画集 PART.1・2・3・4・5 ついに再販開始!】 セル画 5枚セット 車掌など 星野鉄郎 メーテル 週刊少年キング増刊  銀河鉄道999 アニメ画集 PART.1・2・3・4・5・6・7・8、8冊セット(全卷美品セル画付) 高い品質 銀河鉄道999 メーテル 松本零士 セル画 原画 動画 線画 東映 まんだらけ 札幌 【三周年祭】セル画 銀河鉄道999 アルテミス 1カット 銀河鉄道999 メーテル 松本零士 セル画 原画 動画 線画 東映動画 東映アニメーション 雪野弥生 新竹取物語1000年女王 セット 銀河鉄道999 メーテル 哲郎 セル画3枚セット|DEJAPAN - Bid and Buy 松本零士がREDのために描き下ろした「銀河鉄道999」イラストがポスト ネット限定】 銀河鉄道999台本、セル画、松本零士先生サイン、レコード 銀河鉄道999 メーテル 星野鉄郎 4枚セット セル画 動画 原画 東映 セル画 銀河鉄道999 メーテル 他3枚セット(銀河鉄道999)|売買された SEAL限定商品】 その他-銀河鉄道999セル画 音楽関連 42%割引『4年保証』 即決 銀河鉄道999 東映販売セル画 3枚セット セル さよなら銀河鉄道999 複製セル画12 メーテルとエメラルダス 超話題新作 TV版 銀河鉄道999 セル画5枚セット - オークション価格相場研究所 劇場版 銀河鉄道999 セル画と動画 メーテル 無料 メーテル w76 セル画 銀河鉄道999 メーテル(銀河鉄道999)|売買された セル画 劇場版 さよなら銀河鉄道999-アンドロメダ終着駅 メーテル 背景 激安大特価!】 A 銀河鉄道999 メーテル セル画 背景付き 機械室 登場! 銀河鉄道999セル画 - アニメ - alrc.asia □銀河鉄道999□セル画□松本零士□星野鉄郎 車掌 アニメ マンガ 漫画 登場! 銀河鉄道999セル画 - アニメ - alrc.asia送料無料で安心 セル画セット 銀河鉄道999 その他 さよなら銀河鉄道999 複製セル画12 メーテルとエメラルダス 超話題新作 銀河鉄道999 セル画 4枚セット メーテル 星野鉄郎 昭和レトロ 当時物 銀河鉄道999 キャンバスアート A (メーテル) 商品詳細|セル画

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

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

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

販促激安 セル画セット 銀河鉄道999 コミック/アニメグッズ その他

何が制限だバカバカしい。クラスの存在を前提としないプロトタイプベースのオブジェクト指向でクラスが作りにくくて何が悪い。 
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:???

販促激安 セル画セット 銀河鉄道999 コミック/アニメグッズ その他

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 
そういたします… 情報がそれほど多くなく説明が専門的で理解できるか微妙ですが ありがとう