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

Sony PlayStation 4 Pro 1TB Black (CUH7200BB01) Console for sale Amazon | PlayStation 4 Pro ジェット・ブラック 1TB (CUH-7000BB01 PlayStation®4 Pro ジェット ブラック 1TB CUH-720… 【タイムセール!】 47%割引ブラック系大特価放出! PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用ゲーム本体 テレビゲームブラック系-APP.TABBIEMATH.COM SONY PS4 PlayStation 4 Pro Jet Black 1TB CUH-7200BB01 SONY PS4 PlayStation 4 Pro Jet Black 1TB (CUH-7200 BB01) From Japan New 4948872414739 | eBay 43%割引ブルー系大人気新品 PlayStation®4 Pro ジェット・ブラック レッド系一番人気物 美品PlayStation®4 Pro ホワイト1TB CUH-720 PlayStation®4 ブラック 1TB CUH-720… dvpZM-m89238947406 Pro 2021激安通販PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭 国際ブランド】 PlayStation®4 CUH-720… 1TB ジェット・ブラック Pro 2021激安通販PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭 ソニー・イ PlayStation4 1TB CUH-720…の通販 by アルバート shop までの】 PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 7isyR 47%割引ブラック系大特価放出! PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用ゲーム本体 テレビゲームブラック系-APP.TABBIEMATH.COM PS4 Pro ジェット・ブラック 1TB (CUH-7200BB01) 本体 完品 外箱付き【中古】 | iimo リユース店 ヨドバシ.com - SIE ソニー・インタラクティブエンタテインメント PlayStation(R) 4 本体 商品一覧 | PlayStation(R)4 | ソニー プレステ PlayStation®4 ジェット・ブラック 1TB CUH-720… Pro ソニー 新作グッ PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用 【PS4 ソフト プレゼントキャンペーン中】 PS4 プレステ4 プレイステーション4 Pro ジェット・ブラック 1TB (CUH-7100BB01) 本体 すぐ遊べるセット 純正 コントローラー ランダムPlayStation4 SONY 4948872414487 【中古】 | iimo Amazon.com: PlayStation 4 Pro ジェット・ブラック 1TB (CUH-7200BB01 47%割引ブラック系大特価放出! PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用ゲーム本体 テレビゲームブラック系-APP.TABBIEMATH.COM 新作グッ PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用 PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 新作グッ PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用 PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… オンライン限定商品】 やす様専用PlayStation®4 Pro ブラック 1TB CUH 47%割引ブラック系大特価放出! PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 家庭用ゲーム本体 テレビゲームブラック系-APP.TABBIEMATH.COM 憧れ PlayStation 4 Pro ジェット ブラック 1TB CUH-7200BB01 特典 PlayStation®4 Pro ジェット・ブラック 1TB CUH-720… 46%割引ブラック系【新品】 PlayStation®4 Pro ジェット・ブラック ブランドセレクト PlayStation®4 CUH-720… 1TB ジェット・ブラック Pro 家庭用ゲーム本体 Amazon | PlayStation 4 Pro ジェット・ブラック 1TB (CUH-7200BB01 Amazon | PlayStation 4 Pro ジェット・ブラック 1TB (CUH-7200BB01 PlayStation®4 Pro ジェット ブラック 1TB CUH-720… 【人気沸騰】

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

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

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

販売促進物 PlayStation®4 CUH-720… 1TB ジェット・ブラック Pro テレビゲーム 家庭用ゲーム本体

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

販売促進物 PlayStation®4 CUH-720… 1TB ジェット・ブラック Pro テレビゲーム 家庭用ゲーム本体

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