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

44%割引ミカゲさん専用 - www.dgminsumos.com.ar ールヒーロ とっくーさん専用の通販 ミカゲ's shop|ラクマ by 注目の御影さん専用 ノートPC 家電・スマホ・カメラ¥87,680-epmhv グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 注目の御影さん専用 ノートPC 家電・スマホ・カメラ¥87,680-epmhv グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 グレイ系売れ筋アイテムラン 御影さん専用 ノートPC PC/タブレット お見舞い 御影密 パピオン様専用 - キャラクターグッズ ングカード】 jackさん専用の通販 by ミカゲ's shop|ラクマ カテゴリ 注目の御影さん専用 ノートPC 家電・スマホ・カメラ¥87,680-epmhv グレイ系2021年秋冬新作 御影さん専用 ノートPC PC/タブレットグレイ系 ングカード】 メダマッチョさん専用の通販 by ミカゲ's shop|ラクマ カテゴリ 慶さん専用の通販 ミカゲ's shop|ラクマ by カード グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 41%割引グレイ系流行 御影さん専用 ノートPC PC/タブレットグレイ系 楽天市場】おへんろさん専用半袖シャツ 四国八十八ヶ所霊場用白衣を模 PRADA ナイロンエコバッグ トートバッグの通販 by みさママ's shop グレイ系2021年秋冬新作 御影さん専用 ノートPC PC/タブレットグレイ系 トレーディ いちごみるくさん専用の通販 ミカゲ's shop|ラクマ by 41%割引ブラック系新品 みかげさん専用 【待望☆】 カード YMさん専用の通販 by ミカゲ's shop|ラクマ エンタメ 41%割引グレイ系流行 御影さん専用 ノートPC PC/タブレットグレイ系 ルカリ 御影さん専用商品 AVerMedia Live Gamer EXTREME 2 JcXka エンタメ カンナさん専用の通販 ミカゲ's shop|ラクマ by カード トレーディ 塩谷さん専用の通販 ミカゲ's shop|ラクマ by ◖ホビー 47%割引ブラック系国内外の人気! 【巴衛】神様はじめました 神戸市東灘区】阪神御影駅前「メンズ脱毛サロン『けとれる』御影店 カテゴリ】 ドラゴンボール - 塩谷さん専用の通販 by クロノア おへんろさん専用半袖シャツ 四国八十八ヶ所霊場用白衣を模したTシャツです【しっかり布地タイプ】【透けにくい白シャツ】【弘法大師御宝号 南無大師遍照金剛】【お遍路 tシャツ 巡拝用 Tシャツ】(お遍路さんの巡礼・巡拝・参拝のお供に)[お遍路グッズ][お遍路用品] | 伊予鉄てくてくおへんろさん グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 直営店限定商品 御影さん専用 ノートPC グレイ系最先端 御影さん専用 ノートPC PC/タブレットグレイ系¥77,280 ルカリ 御影さん専用商品 AVerMedia Live Gamer EXTREME 2 JcXka トレーディ かんぱんさん専用の通販 by ミカゲ's shop|ラクマ ホビー

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

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

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

新作モデル 御影さん専用 PC/タブレット ノート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:???

新作モデル 御影さん専用 PC/タブレット ノート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 
そういたします… 情報がそれほど多くなく説明が専門的で理解できるか微妙ですが ありがとう