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

ブランド 小学館 - 犬夜叉 複製原画 第一弾 第壱弾 高橋留美子 完全 ホワイト系新素材新作 半妖の夜叉姫 犬夜叉 かごめ もろは 複製原画 グレイ系くらしを楽しむアイテム 犬夜叉 最高級複製原画 殺生丸 りん セール 犬夜叉 シリアルナンバー入り 複製原画 50枚限定 高橋留美子 希少品 駿河屋 -<中古>「犬夜叉」複製原画/少年サンデー応募者全員サービス 高橋留美子 犬夜叉 複製原画 /カラーイラスト 額付き 梱0.1(その他 高橋留美子 犬夜叉 複製原画 /カラーイラスト 額付き 梱0.1(その他 少年サンデー 犬夜叉 10周年 当選品 複製原稿 複製原画 8枚セット の ホワイト系【お買い得!】 【大きい!A4サイズ】半妖の夜叉姫 複製原画 犬夜叉 サンデーショップ 限定 キャラクターグッズ おもちゃホワイト系¥12,780-shibuya-nob.com 犬夜叉 複製原画 高橋留美子 480×348㎜(犬夜叉)|売買された 1円~ 犬夜叉 少年サンデープレミアムSHOP 限定 最高級 複製原画 高橋留美子が「犬夜叉」×「半妖の夜叉姫」イラスト描き下ろし、複製 犬夜叉 複製原画 - acurys.com.br 犬夜叉高桥留美子应募复制原画(日版) 33%割引グレイ系当社の 犬夜叉 最高級複製原画 キャラクターグッズ 待望☆】 犬夜叉 最高級複製原画 半妖の夜叉姫 A3 複製原画 おもちゃ 半妖の夜叉姫犬夜叉複製原画A5 せつなとわりん殺生丸受注生産|代購幫 10/4☆シンフォギアXV/犬夜叉 複製原画|シンフォギアライブ2020 情報】半妖的夜叉姬複製原畫第二彈殺生丸、鈴、永遠和剎那一家人 特別セーフ 犬夜叉 複製原画 第弐弾 - 絵画/タペストリ 週邊】動畫【半妖的夜叉姬】製作決定紀念!!《犬夜叉》的最高級複製原 少年サンデー 犬夜叉 複製原画/額縁付き/応募者全員サービス/高橋 犬夜叉 複製原画 第一弾 第壱弾 高橋留美子 完全受注生産 A5 新品 犬夜叉 最高級複製原画 第弐弾 第2弾 公式 サイン グッズ 殺生丸 鋼牙 情報】【情報】半妖的夜叉姬複製原畫第三彈犬夜叉、阿籬和諸葉一家人(5 犬夜叉 複製原画 半妖の夜叉姫 2点セット A5サイズ ホワイト系新作商品 犬夜叉 半妖の夜叉姫 複製原画 殺生丸 りん 半妖の夜叉姫決定記念 犬夜叉 最高級複製原画 高橋留美子 【57%OFF!】 犬夜叉 最高級複製原画 A3サイズ シリアルナンバー1桁台 お買い得モデル 犬夜叉 最高級複製原画 A5サイズ 複製原画 犬夜叉 少年サンデー応募者全員サービス 週間少年サンデー 少年サンデープレミアムSHOP on Twitter: 新作登場 犬夜叉複製原画 キャラクターグッズ 併 犬夜叉 最高級複製原画 少年サンデー プレミアムショップ限定 No.086 美品 箱あり 20201211 少年サンデープレミアムSHOP on Twitter: クリスマスツリー特価! 半妖の夜叉姫決定記念【犬夜叉】最高級複製

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

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

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

タブレット 犬夜叉複製原画 おもちゃ キャラクターグッズ

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

タブレット 犬夜叉複製原画 おもちゃ キャラクターグッズ

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