[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/21 06:30 / Filesize : 433 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

+ JavaScript の質問用スレッド vol.122 +



1 名前: ◆SEdFBOkLSw (スププ Sdb8-t1qj) mailto:sage [2016/08/29(月) 08:21:23.08 ID:zn5a5dIZd.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
+ JavaScript の質問用スレッド vol.121 +
echo.2ch.net/test/read.cgi/tech/1468158373/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

559 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 00:14:05.25 ID:tlGoJkkG0.net]
>>553
正直、君はクラスの使い方を間違っていると思うから、そこを学び直した方がいいと思うぞ。
JavaScriptの連中はどうにもそういう妙な点をこねくり回すことが大好きなようだが。

普通はその場合、ラップ関数を呼ぶか、
print内部で切り分けを行い、apply無しで直接呼べるようにするか、(Array.isArray(a)やb===undefined)
print自体をargumentsで記述し、直接呼べるようにするか。
また、クラスとして使うのなら、Function.prototoyeではなく、obj.__proto__に追加することになる。

560 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/22(木) 00:22:50.49 ID:nyvvUxi30.net]
>>541-542
2chのバグだろう

書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。
" の代わりに、\" とエスケープすれば、どうだろう?

それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった

561 名前:デフォルトの名無しさん (スフッ Sd9f-lG7u) mailto:sage [2016/12/22(木) 00:25:51.87 ID:+dxu+Nr9d.net]
>>554
長文、君、彼、か。
芸風変わらんなぁ、babel君は。

562 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/22(木) 00:26:02.57 ID:nyvvUxi30.net]
Kotlin では、すべてのオブジェクトが使える、スコープを変える関数が、4つある

apply, let, run, with

with(obj){
ここでは、thisが、objに変わる
}

563 名前:デフォルトの名無しさん (ドコグロ MMbf-do8S) mailto:sage [2016/12/22(木) 04:05:51.09 ID:HervFLYwM.net]
プロの人はどうやって勉強しているんですか
あれやりたいな→ぐぐる→できた!ってやってると
困ってはぐぐるの繰り返しでこれじゃ理屈が伴ってなくて良くないなあと思うのですが

564 名前:デフォルトの名無しさん (ワッチョイ cf17-W2u1) mailto:sage [2016/12/22(木) 05:54:28.89 ID:JoGOA/Np0.net]
教科書を買えばいいんじゃないですかね

565 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/22(木) 14:58:32.87 ID:KMOUtJeW0.net]
>>537-538
ありがとう

arguments.callee って非推奨なんだな
関数のプロパティをいじろうと思ったんだけど
名前だけわかってもちょっと難しいな

566 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/22(木) 16:19:23.51 ID:rwisZIJ0d.net]
>>561
arguments.calleeは非推奨じゃないよ。
Functionにひっついてる方が非推奨。

567 名前:デフォルトの名無しさん (オッペケ Srdf-Esd/) mailto:sage [2016/12/22(木) 16:44:36.23 ID:TVwdcP1Cr.net]
>>561
名前付き関数式にすれば安全に関数を参照できる
arguments.callee はStrict Modeで使えないだけ



568 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/22(木) 17:28:44.13 ID:KMOUtJeW0.net]
>>562-563
Cとかで言うstatic変数的なのを関数のプロパティで


569 名前:function unko(){
if( typeof(unko.chinko)=="undefined" ) unko.chinko=0;
return unko.chinko++;
}
みたいなクソコードでやってんだけど、関数内での関数名unkoを
定義済み定数みたいなので置き換えたかっただけなので
まあどうでもいい話ですわ。 メリークリスマス!
[]
[ここ壊れてます]

570 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:24:57.62 ID:tlGoJkkG0.net]
>>559
正直、JavaScriptでは上達しない(しづらい)のだと思うので、他言語である程度やってからにしたほうがいい。
ソースはこのスレの馬鹿共。
とはいえ、JavaScript自体が悪いわけではないのだが。

他言語スレを見れば分かると思うが、間違った回答が感謝され、
それがあたかも正しいものとして扱われるような茶番的展開はJavaScriptスレだけだ。
しかも一度や二度ではない。
さすがにこんな所で自演する意味はないし、ガチで分かってないんだと思う。
ただ、質問者が分かってないのは仕方ないとして、回答者が分かってないのは駄目だよ。
結果的に馬鹿が再生産されてしまっている。
馬鹿が馬鹿を、ゆとりがゆとりを、さも知ったかぶりして教えているからこうなる。

このスレは回答者はそこそこいるのだから、回答の出方を見つつ、よりよい方向に協力しないといけない。
ゆとりにはこの感覚が皆無で、基本的に焼畑をしやがるので上の世代はいらついている。
(とはいえこれは若いからであり、正直、ポストゆとりも同じ事になるとは思うが)
>>544はそれに対して注意しただけ。それに噛み付く必要なんてない。
お前らはもうちょっと、もっと大きな「流れ」について気を配り、
お互いに利益があるように振る舞わなくてはならない。
それを怠っている結果、自分にも不利益が生じていることに気づいた方がいい。
結果的に、JavaScriptの連中は馬鹿ばかりになっている。

571 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:26:42.36 ID:tlGoJkkG0.net]
話を戻す。今回の例で言うと、540は分かっている感じだが、542,543はエアプ。(と言われても仕方ないレベル)
542は話が余計に複雑になっている。
543と>>540は言っていることは同じなのだが、質問者は別物だと思っているらしい。
ただ、方向性が明らかに間違っている回答には「間違っている」だけで済ますべきで、コードを書いては駄目だ。
結果、その初心者は543を有り難がってしまっている。

質問者は「apply使ってる俺カッケー」「prototypeいじってる俺カッケー」な訳だが、これ自体が間違い。
ただ、このことを理解出来てない馬鹿が多いのもJavaScriptの特徴だ。
しかしこの嘘に流されているようでは上達しない。

この場合、普通は関数オーバーロードを行う。
要求: obj.print.apply(obj, args); とobjを2回書くのが面倒
質問者: obj.print.apply(args); と書きたい
>>542: obj.my_apply("print", args);
>>543: obj.print.myApply(args);
関数オーバーロード: obj.print(args);
どう見てもオーバーロードが一番簡単だろ。

オーバーロード自体はC++/C#/Javaでは簡単で、
今ある obj.print(String,String) に加えて、 obj.print(Array) を定義すればいいだけ。
ただしJavaScriptにはオーバーロードは無く、そのままだと上書きされてしまうので、
関数名を変えるか、(結果的にラップ関数になることが多い)
自前でやるか。自前でやる場合は道具は揃っていて、>>555に書いたとおり。

572 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 20:27:47.25 ID:tlGoJkkG0.net]
最悪なのは、このスレの馬鹿共が「オーバーロード」に全く言及しないことだ。
結果、質問者は間違った方法を正しいと勘違いし、そして馬鹿が再生産されてしまう。その結果がお前らだ。
とはいえ、オーバーロードは他言語ではごく普通のことなので、何でそうなるのか本当に謎なんだが。
(エアプしかいないだけか?)

prototypeの変更は、つまり「定義」の変更であり、ソースの変更無しに動作を変更する時に用いる。
ただ、初心者には上文の意味が分からないだろうし、やらなくていい。
しかし、これができるのはJavaScriptの特徴であり、

573 名前:ヌうにもそこに惹かれてしまうらしく、
無理にその機能を使って解決しようとする馬鹿が大量発生するようだ。
結果的にそれは上達の速度を落としている。

JavaScript以外の言語ではこの手の解決が出来ないので、まっとうな方法で解決することを強いられる。
結果、おかしな寄り道をせずに済み、普通に上達していく。
柔軟性が高く、どんな構造でもさらっと記述出来てしまうJavaScriptは、
本来は上達しやすい言語であってもおかしくないのだが、どうにも初心者がトラップされる場所が多すぎるようだ。
例えばセミコロンの打ち方とか。そんなところを極めても何にもならない。
結果、馬鹿ばかりになってしまっている。ソースはこのスレの馬鹿共。

例えば、>>564なんてクロージャを使えばいいだけの案件だ。
ただ、Cだと長らくクロージャがなかったので、彼はそれを選択出来ない。(知らないから思考外)
だから言語自体に「記述能力」があることは上達には不可欠なんだ。
Cは別の意味で柔軟性が高い(何でもあり)のだが、JavaScriptもかなり高い。
ただ初心者にはC#とか、もっと絞ったJavaとかの方がいいように思える。
あっちのスレの初心者は着実に上達している感じはある。
JavaScriptは初心者にはフリーダムすぎるようだ。
[]
[ここ壊れてます]

574 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/22(木) 21:50:01.72 ID:noqYDqw/M.net]
うん、printだけならオーバーロードでいいと思うよ。
質問者は1つのメソッドだけじゃなくたくさんの関数やメソッドで同じことをしたいみたいだよ。

575 名前:デフォルトの名無しさん (ワッチョイ 73ce-AnbU) mailto:sage [2016/12/22(木) 23:10:38.19 ID:0Dv4mOXn0.net]
>>557
> 芸風変わらんなぁ、babel君は。

babel君は俺だよw
お前間違ってるじゃんか。

はっきり言っておかないと「俺はいつだって見抜ける」って
勘違い君になっちゃうからな。

はっきり言おう、お前はただ長文があったらbabel君って
いいたいだけのガキだよ。

576 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 23:13:44.40 ID:tlGoJkkG0.net]
>>568
そういう事はそもそも無いんだよ。
もしそうなっているのなら、それは制御構造の組み方がおかしいだけ。

逆に考えてみても、仮にそういうapplyが頻繁に必要なら、
当然の如くそのapplyが標準APIにないとおかしいでしょ。
ていうか、ゆとり全般に言えるが、もうちょっと物事の辻褄を考えてくれ。
JavaScriptは糞だ糞だと言われているが、そんなに酷くもない。

その手の便利メソッドが充実しているのはRubyとlodashか?
詳しい奴はこのスレにも居たよな?あるかどうか教えてくれ。
そこにもないのなら、普通は要らないって事だよ。
あるんだったら、多少は使うって事でいい。

所で、お前は>>542,543のどっち?第三者か?

577 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/22(木) 23:21:00.67 ID:noqYDqw/M.net]
>>570
俺は第三者。
質問の意図を誤解して他人の回答を罵倒しているみたいだったので指摘したまで。
俺もお前の新しい意見(>>570)なら同意。



578 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/22(木) 23:52:58.57 ID:tlGoJkkG0.net]
>>571
俺は相手にとって実になる回答をしろと言っているだけ。
それが罵倒になったとしても意見としてそのまま言う。
お前らがこれに対して文句を言うのも自由だ。
駄目な物ははっきり駄目だと指摘される、これが匿名掲示板のいいところだ。
意見があるのなら言えばいいんだよ。

補足すると、俺的には、
540「それじゃ駄目だから考え直せ」←とりあえず正しい方向へ向かうのでOK
542「Object.prototypeを変更しろ」←最悪のことをさらっと言うなボケ
543「たとえばこう」←親切のつもりだろうが質問者が結果的に間違った方向に向かうので駄目
ってなところだ。

ただ、542も543も上記の事なんて分かっていると思うんだ。
だから、お前らには「後先考えてレスしろ」と言いたい。
542の回答をしたいのならば、クラスとして定義し、クラスのメソッドに追加するのならよかった。
543については、そもそも質問者の例がおかしいんだが、単発関数でいちいちbindってのは無いんだよ。
その場合は通常クロージャで捕捉する。だから同階層にmsgとprintがあること自体がおかしくて、
別階層においてクラスとして使うか、単発ならクロージャ、ってことを言えばよかった。

質問者が色々おかしいのは仕方ないとして、
それを尊重しておかしなままで進めるから余計におかしくなっているわけで、
質問者には「それはおかしい」と言ってやらないと駄目だろ。
だから俺は540の回答が今回は正しいと思う。
他は親切のつもりが結果的に足を引っ張っていることに気づいていない。これは不幸なことだよ。
逆に、お前らが明らかに変な質問した時に、それを尊重されておかしな回答されても困るだろ。
少し考えれば分かることだよ。

JavaScriptスレのレス数は他言語スレよりもかなり多い。
それでも低空飛行を続けているのは、お前らが後先考えずにレスしてるからだよ。

579 名前:デフォルトの名無しさん (ドコグロ MMbf-Vzqx) mailto:sage [2016/12/23(金) 00:08:00.89 ID:w5xRjMfxM.net]
それが君のスタンスならもう言うことはない
突っかかって悪かった

580 名前:デフォルトの名無しさん (ワッチョイ 8b3c-Jkes) mailto:sage [2016/12/23(金) 00:18:59.00 ID:Z9nj1KlQ0.net]
すんません
newsoku.blog/archives/12673
ここのサイトのこの記事だけadblock有効にした状態でアクセスすると広告ブロックの無限ループでPC固まるんですが、原因は何なんですかね?
chromeの開発者ツールのどこを見ればいいのかさっぱり分かりません。皆さんはJavascriptの挙動がおかしいと思ったら開発者ツールのどういうところ見ます?

581 名前:デフォルトの名無しさん (ワッチョイ 8b5b-i5Qz) mailto:sage [2016/12/23(金) 00:29:14.11 ID:5x0GRUiO0.net]
>>573
いや、俺は君に対して怒っているわけではない。

JavaScriptのスレはかなり奇妙なんだよ。
単に年齢構成が違うのだと思うが、匿名掲示板の距離感を掴めていない奴が多い。
常に優しい言葉だけを使って回答して欲しいのならID制の所に行けばいい。
匿名掲示板はどうしてもノイズが多くなる。
それでも匿名であり続けるのはそれなりの理由があるから。
だからそれをちゃんと生かせ、無理ならID制の所に行けってこと。

582 名前:デフォルトの名無しさん (ワッチョイ 8fa7-i5Qz) mailto:sage [2016/12/23(金) 01:16:35.93 ID:yYk3c3EB0.net]
540は自分だけど他のレスを罵るための比較対象にするのは勘弁して欲しいわ
まさに「それはおかしい」で留めておけばいいじゃない

583 名前:デフォルトの名無しさん (ワッチョイ cf17-W2u1) mailto:sage [2016/12/23(金) 01:45:10.57 ID:wlAJlu3s0.net]
長文連投すんのマジでやめろや
途端にスレ読むの面倒になってしばらく読めなくなる
ブログでやってろボケ

584 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/23(金) 01:45:43.60 ID:zYIMLsrEd.net]
なんか、レベル下がったな。

585 名前:539 (オイコラミネオ MM7f-mf62) [2016/12/23(金) 02:20:25.33 ID:lOZdmC9zM.net]
私の質問のせいで一悶着あったようで申し訳ないです

本当にやりたい事はnodejsで全ての任意の非同期関数及びメソッドをcoで扱えるようにラップする事でしたが、
関係ない部分の説明が必要ないようapplyの話に単純化して質問してしまった為に、他の手段で簡単に解決できてしまい、混乱させてしまいました。
また、Functionのprototypeへの追加が危険なのは承知の上でしたが、このスレで学ばれている方が気軽に真似してしまう可能性を考慮しなかったことをお詫びします。

基本的にものぐさなので以下のような考えです

co(function*(){

var readFileSync = thunkify(fs.readFile);
var ret = yield readFileSync(‘test.json’); //全ての非同期関数毎に別名の変数を用意するのは面倒

var ret = yield thunkify(fs.readFile)(‘test.json’); //関数で囲うのは修正の際カーソル移動が面倒

Function.prototype.thunkify = 省略
var ret = yield fs.readFile.thunkify(‘test.json’); //保守性と記述性のトレードオフ

var obj = {msg: ’hoge’, print: function(callback){callback(null, this.msg);}};
var ret = yield obj.print.thunkify.call(obj); //メソッド内でthisにアクセスするモジュール等の場合、bindかcallでobjを渡す必要があるので、なんとか関数の場合と同じ形に出来ないかな?

//アドバイスを参考に考えた結果、メソッドを全て列挙しthisをバインドしたものを集めたオブジェクトを返すメソッドをObjectに追加しました
var ret = yield obj.my_bind_method().print.thunkify(); //どうせ非同期処理なので呼び出しコストは気にしない

var ret = yield thunkify(my_bind_method(obj).print)(); //メソッド名バッティングの危険性を考慮するならこちらの方がいいかもしれません
});

586 名前:デフォルトの名無しさん (スフッ Sddf-lG7u) mailto:sage [2016/12/23(金) 02:21:57.93 ID:zYIMLsrEd.net]
>>579
いつもこの程度だから気にしなくていいよ。

587 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/23(金) 06:02:18.34 ID:jiSEHcxr0.net]
Object.prototype にメンバーを追加するのも、禁止!

他の方法は、面倒と書いているけど、影響範囲・スコープが限られているじゃん

一方、Function.prototypeに追加するのは、すべてのソースコードに影響があるから、
全部の範囲をチェックするのは無理。
影響範囲が無限大

Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。
こんな事を思いつくとは、君は、開発したこと無いだろ?



588 名前:543 (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/23(金) 07:21:32.58 ID:VeLH/y/da.net]
>543はES5の範疇でどこまでやれるかやってみた程度のもの
ES6ではspread operatorという答えが出ていたので質問者が自己判断できる範疇と考えていた

>>553,579
ES5では無理、ES6ならすでに提案されているようにspread operatorを利用可能
ただし、Function.prototype 上に関数を置くと呼び出し元関数(print)の this 値が変化してしまう

Object.defineProperty(Function.prototype, 'spread', {
 configurable: true,
 enumerable: false,
 writable: true,
 value: function spread (args) { this(...args); }
});

var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print.spread(["(", ")"]); // (undefined)

this 値を渡す方法がないのであなたの要件は実装不可能
素直に呼び出し側で spread operator を使うべき
# ちなみに、Object.prototype, Function.prototype を拡張するのがデメリットを享受したうえで使うなら止めようとは思わない
# 俺は拡張しようとは思わないが、デメリットを承知の上で使う事情があるならそれもまた良いだろう(勿論、チーム内で合意を取る必要はある)

589 名前:543 (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/23(金) 07:41:04.49 ID:VeLH/y/da.net]
> 素直に呼び出し側で spread operator を使うべき
一応、書いておく

var obj = {msg: "hoge", print: function(a,b){console.log(a+this.msg+b);}};
obj.print(...["(", ")"]); // "(hoge)"

590 名前:デフォルトの名無しさん (ワッチョイ 3fc9-i5Qz) mailto:sage [2016/12/23(金) 11:59:58.59 ID:3Ssmhylk0.net]
>>567
この程度のことでクロージャは使いたくないよ
コード量も倍以上に膨れ上がるしな

591 名前:デフォルトの名無しさん (ワッチョイ 73ce-AnbU) mailto:sage [2016/12/23(金) 12:32:39.19 ID:L8VrAqOy0.net]
>>581
> Date・配列クラスに、独自関数を追加している、Rails とか、ああゆうプロだけがやること。
> こんな事を思いつくとは、君は、開発したこと無いだろ?

Railsと一緒にするとは、お前は思慮がたりねぇなぁ。

大きな違いがはRailsがサーバーサイドで動くものだってことだよ。
つまり、Railsアプリを開発・テストした環境で動けば、動作は保障される。

だけどブラウザで動かすJavaScriptは違う。
動作する環境がバラバラ。一度動作を確認したとしても
勝手に実行環境がバージョンアップしてしまう。

そのせいでPrototype.jsでは開発した当時、どのブラウザでも搭載されていなかったreduceメソッドが
ブラウザのバージョンアップで標準で追加されて、標準のreduceメソッドと互換性がなくて
問題になったんだろ。

お前、こんな事を思いつく俺のような奴と、君は、開発した事ないだろw

592 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/23(金) 17:57:29.78 ID:hTDeYr00a.net]
>>585
railsはcrubyといくばくかの実行環境に限られてるだけでしょ。
勝手に実行環境が、ってのは、本来はサーバでも話は変わらん。
RailsがRubyを縛ってるだけ。要は「IE専用のページ」とレベルがかわらん。

593 名前:デフォルトの名無しさん (ワッチョイ 9bce-AnbU) mailto:sage [2016/12/23(金) 22:29:11.98 ID:ZeK4/Bhm0.net]
>>586
お前意味わかってないねw

ブラウザで動くJavaScriptコードを書きました。
サイトは不特定の人が見れます。
さてどのバージョンのJavaScript実行環境で動くのでしょうか?

サーバーで動かすRailsだと、不特定の人がアクセスしたからって
動く環境は同一。Rubyのバージョンもライブラリも
意図的に上げない限り一緒。

ブラウザで動かすJavaScriptとは根本的に違うんだよ。

594 名前:デフォルトの名無しさん (ワッチョイ 0f7b-SerI) mailto:sage [2016/12/23(金) 23:28:59.41 ID:jiSEHcxr0.net]
便利な独自関数は、ライブラリとして独立しているから、誰でも使える。
Groovy, Kotlin でも、Javaに便利な独自関数を追加している

ただ、開発体制が数年以上、持続できて、プロ中のプロがやる分には良いけど、
作ってほったらかしにすると、後で問題になる

数年後に、ソースコードを見た人が、どうしてこいつは、
たったこれだけのために、こんなややこしい事をしていたのか? と問題になる

595 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 01:06:18.56 ID:RsVu32Ub0.net]
> たったこれだけのために、こんなややこしい事をしていたのか? と問題になる

あぁ、オレオレでライブラリっぽいのを作ったりしてな。
有名所のを使っていれば、あとで見たときも情報があるが
オレオレなものがネットに情報あるわけもなし

596 名前:デフォルトの名無しさん (ラクッペ MMdf-W3gD) mailto:sage [2016/12/24(土) 01:37:33.92 ID:1blwq6VQM.net]
お前ら、ちょっと変わったことをするときは
それなりに念入りにコメント書いたりドキュメント残したりしないの?

597 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/24(土) 02:43:45.75 ID:zFhkiAWLa.net]
>>587
アホか。そういう事言ってんじゃないよ。
サーバがwindowsでもlinuxでもBSDでも、rubyがどのバージョンでも動くかって話と、そう変わらん、と。
rubiestはこれだから馬鹿なんだよ、ホント。



598 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 07:27:47.27 ID:RsVu32Ub0.net]
>>591
Rubyがどのバージョンで動くかなんて
アプリが決めたバージョンだけだろ。

アプリが2.3.3で動くことを確かめて
2.3.3で動かせばそれでいい。
他のバージョンのことなんか考える必要はない。

だがブラウザで動かすJavaScriptは違う。
こっちがChromeで動くと言っていても
相手は何を使うかわからない。
ずっと古いブラウザを使い続けるかもしれない

599 名前:デフォルトの名無しさん (オッペケ Sr6f-Esd/) mailto:sage [2016/12/24(土) 08:42:22.62 ID:Q1UBjc7Gr.net]
Rubyの話はスレ違いだから余所でやってくれ
ビルトインオブジェクトのprototype拡張は影響範囲が大きいから習熟してないなら避けるのが望ましい
どうしても書くなら>>590、で終わる話

600 名前:デフォルトの名無しさん (オッペケ Sr6f-Esd/) mailto:sage [2016/12/24(土) 08:47:40.57 ID:Q1UBjc7Gr.net]
>>584
>>564は将来的にFunction.prototypeに同名プロパティが拡張された時に衝突する恐れがある
コードを少し書き足すだけでリスクをなくせるなら安いコストだ
短く書きたいなら、まだコードに工夫する余地はあるだろう

'use strict';
var foo = function foo () {
return this++; // ES5非対応ブラウザをサポートするなら this.i++;
}.bind(0); // 同上。{i: 0}

601 名前:デフォルトの名無しさん (ワッチョイ 3f5b-t+3N) mailto:sage [2016/12/24(土) 09:48:48.80 ID:JKkRXMHl0.net]
>>594
bind して this.i++; はいいね。今後使わせてもらうわ。
this++; はES5でもES6でも動かない気がするけど。

602 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 10:43:11.38 ID:RsVu32Ub0.net]
>>594
コメントがなければ意味がわからないようなコードを書かないでください
可読性が悪すぎます。

603 名前:デフォルトの名無しさん (ワッチョイ 375b-gDR1) mailto:sage [2016/12/24(土) 13:28:03.30 ID:IXC75mXH0.net]
>>594
bindとか知らなかったので勉強してくる

604 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/24(土) 13:34:07.48 ID:RsVu32Ub0.net]
>>597
勉強するのはいいけど594は間違った使い方だから
読み解ことうと思わないようにw

605 名前:デフォルトの名無しさん (ワッチョイ a78f-Jkes) mailto:sage [2016/12/24(土) 18:01:50.08 ID:Zb/gh1a90.net]
最近はbabelとかtypescriptみたいな
トランスパイラが出回ってるからそっちを使っていれば
ブラウザの互換性は担保できるのではないかと思うが。

606 名前:デフォルトの名無しさん (アウアウウー Sa5f-t+3N) mailto:sage [2016/12/24(土) 22:11:35.72 ID:7wbeR67ya.net]
>>595
ごめん、ミスってた
this 値を直接書き換える事は出来ないから this.i++ が正解だな

>>596
2回同じコードを書くのが面倒だったからコメントを書いただけでコメントが必要な場面ではない
可読性が悪いと感じるならそれは慣れてないだけかと

607 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 00:43:48.56 ID:Sdmy2dzNa.net]
>>599
見た目の互換性は上がるけど、見た目だけだよ。
最初から最低限でやりゃ良いんよ。
きちんとした仕様が決まってるなら昔懐かしのASP.netの部分更新みたいにサーバでDOM書いて送ったって良いんだし。
何故かReactやらそんな時代に、
まさに同じ事を「SSR」とか名前つけて有難がってるRoR+トランスパイル言語連中が馬鹿に見える位。



608 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/25(日) 01:02:21.91 ID:AjYaRi9b0.net]
> 何故かReactやらそんな時代に、

ん? React使ってるサイトって全体のどれくらいですかね?
Reactが必要だって言えるようなサイトはどれくらいありっますかね?


俺からすりゃReactをありがたがってる連中が
馬鹿に見えてるんだが。

609 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 01:07:11.87 ID:Sdmy2dzNa.net]
>>602
俺もまとめて否定してんだよ。
カッチカチが良いなら全部サーバで書きゃいいって言ってんのに。
それも、Rubyなんてクソ言語じゃなくてもうちょいまともな型のある言語か、いっそハブラシPHPで書きゃいい。

お前ほんとに頭おかしいの?読解力ゼロなの?

610 名前:デフォルトの名無しさん (ワッチョイ 9bce-g1cW) mailto:sage [2016/12/25(日) 01:19:52.54 ID:AjYaRi9b0.net]
>>603
重要なのはカチカチかどうかじゃなくて
どれだけ早く価値を作れるかだと思うんだが?

611 名前:デフォルトの名無しさん (アウアウイー Sa4f-lG7u) mailto:sage [2016/12/25(日) 01:50:23.74 ID:Sdmy2dzNa.net]
>>604
うまいこと言ったつもりだろうが、堅いことが価値だったり、作るのが早いことが価値だったり、あとから直しやすいのが価値だったり、動くものが速い事が価値だったり
価値なんかバラバラでしょ。

612 名前:デフォルトの名無しさん (ワッチョイ 9f8f-O/vA) mailto:sage [2016/12/30(金) 22:56:35.53 ID:b7WBl9TI0.net]
React自体はわかりやすいし自分でタグを作れるというのは
結構魅力的だと思ったんだけど実際に使うといまいちだったりするのかな?
どっちかというとAngularとかのほうが複雑すぎて絶望した。

613 名前:デフォルトの名無しさん (ワッチョイ ca98-Sa8B) mailto:sage [2016/12/31(土) 15:42:29.63 ID:nUjD4DbZ0.net]
JavaScript死亡www

「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念

「WebAssembly」がWebブラウザに変革をもたらします。
Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。
そして今回、「Webブラウザ」に新しい概念が加わわることになりました。
それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。
今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。
WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」

WebAssemblyによってもたらされるスゴイところは次の4つ。
コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる
ほぼ機械言語にコンパイルされるからヌルヌル動く
OSを一切気にする必要がなくなる。気にするのはブラウザのみ
C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった

これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。

「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。

もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。
JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。

それを実現したのがこの「WebAssembly」です。

https://mayonez.jp/1690

614 名前:デフォルトの名無しさん (ワッチョイ eb7b-qQw5) mailto:sage [2017/01/02(月) 21:09:29.84 ID:NK7pnDgB0.net]
昔々その昔、JAVAと言うものがあってだなぁ…

615 名前:デフォルトの名無しさん (アークセー Sxa3-Eko0) mailto:sage [2017/01/04(水) 16:28:28.34 ID:A1xSFH10x.net]
JavaとPHPがメインのサーバサイドプログラマなんだけど
Javascriptフレームワーク、主にAngular.jsとReact.jsを触ってみたいと思っている。
これまでJavascriptフレームワークの経験ナシ。JQueryだけ。

そこで相談だけど、「とりあえず使い方とメリットを知りたい」
という場合、どんなものを作るといいんだろう?

例えばサーバサイドフレームワークなら、
DBも用意して、入力チェックのある掲示板を作ってみれば、大体のノリはつかめると思うんだけど
そんな感じで、「こんなものを作ってみろ」
というお勧めを教えてください。

616 名前:デフォルトの名無しさん (JP 0H56-7auN) mailto:sage [2017/01/04(水) 17:05:10.17 ID:mEkZwZd0H.net]
>>609
todomvc.com/

617 名前:デフォルトの名無しさん (ワッチョイ 1f8c-+flj) mailto:sage [2017/01/08(日) 12:09:11.44 ID:hH2LQLuG0.net]
>>609
Reactやっとけばいいよ



618 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 16:00:23.16 ID:xMVs4RXt0.net]
>>609
まずはボタンを押すとカウントアップするようなものをReactで書いてみるといいよ。

jQueryで書くならば、こんなの

<html><body><span></span><button>btn</button></body></html>

$(function() {
 var i = 0;
 $('button').click(function() {
  $('span').text(i++);
 })
});


これをReactで書いてみれば、Reactのデメリットが見えてくるだろうw

619 名前:デフォルトの名無しさん (ワッチョイ df98-HvS5) mailto:sage [2017/01/08(日) 16:34:40.53 ID:oWytpAF00.net]
>>612
書いて見せてよ

620 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 16:47:29.40 ID:xMVs4RXt0.net]
>>613
俺に答えを言わせる気かw

Reactめんどくせーよ。

621 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/08(日) 17:24:39.20 ID:XDbKIsfAM.net]
>>612
こういうコード
サンプルスニペットならいいけど
複雑な業務だと何やってるかわからなくなるからやめて

622 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 18:04:30.88 ID:xMVs4RXt0.net]
>>616
それは作り方が悪いだけ

そもそも複雑な業務というのは
サーバー側が複雑なのであってJavaScriptは
殆ど使わない

623 名前:デフォルトの名無しさん (ワッチョイ 8b19-+flj) mailto:sage [2017/01/08(日) 21:24:18.58 ID:l+lFPzQR0.net]
行数が短ければ正義と思ってる奴か

624 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/08(日) 22:52:00.94 ID:xMVs4RXt0.net]
行数ではなくてステップ数な
ステップ数が少なければ正義だよ

625 名前:デフォルトの名無しさん (ワッチョイ 9ba1-Vje5) mailto:sage [2017/01/08(日) 23:34:23.55 ID:U62MbfoD0.net]
結局どういう事なんだ

626 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/08(日) 23:37:15.12 ID:XDbKIsfAM.net]
行数だけ意識した雑なコードは書くなって事

627 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/09(月) 04:08:11.18 ID:QmwK1Z6K0.net]
重要なのは行数(文字数)ではなくてステップ数
たまにステップ数が短ければ正義。の反論として
極端に短くした変数名を持ってきたりするが、
重要なのはステップ数なのでわかり易い名前にすればいいだけ。



628 名前:デフォルトの名無しさん (ワンミングク MMff-+flj) mailto:sage [2017/01/09(月) 09:23:11.98 ID:4NqOEoqDM.net]
ステップ数の定義は?
ステートメント数?

629 名前:デフォルトの名無しさん (ワッチョイ df98-HvS5) mailto:sage [2017/01/09(月) 18:16:00.34 ID:EaR/gEc60.net]
>>614
Reactやりはじめたいんだけど、
全然わかんないからみせてよ!!!!!!

630 名前:デフォルトの名無しさん (ワッチョイ 0bce-pn3f) mailto:sage [2017/01/09(月) 18:27:16.49 ID:qGJTtvd50.net]
>>623
どこから? JSXのコンパイルはできるようになった?
それともnodeのインストールから?

631 名前:デフォルトの名無しさん (ワッチョイ 8b19-+flj) mailto:sage [2017/01/09(月) 20:04:40.49 ID:lLMrzoyO0.net]
JSXのコンパイルって何だよ

632 名前: ◆OssanNUN/w (ワッチョイ df98-HvS5) mailto:sage [2017/01/09(月) 20:36:22.11 ID:EaR/gEc60.net]
>>624
nodeのインストールしたとだよ
そんなのいいから>>612のReact版見せてくれ
いっつもこんな感じでjqueryでしか書いてない

633 名前:デフォルトの名無しさん (アークセー Sx37-YL17) mailto:sage [2017/01/16(月) 16:48:39.02 ID:vlGMO2A0x.net]
>>609です。
レスありがとうございました!
>>610のサイト、最初はサイトの画面の意味もわからなかったのですが
追加ボタンを押すとアイテムが増えていくという画面なのを把握&
Angular.jsは、ドットインストールを思い出してそちらで入門を読んでみて
JQueryとの違いと言うか、考え方がどう違うかという基本はわかりました。

業務でちょっと立て込んでしまったので、しばらく手が動かせないのですが
次は>>612やってみます。

634 名前:デフォルトの名無しさん (ワッチョイ 67ce-q48i) mailto:sage [2017/01/16(月) 23:02:56.26 ID:0nV0x3iS0.net]
>>627
jQueryというかDOM操作ライブラリとの違いね
ブラウザ標準のDOM APIともぜんぜん違うでしょ?

グループ分けするなら

・DOM操作系(jQuery、DOM API)
・データバインディング系(Angular、Vue)
・仮想DOM系(React)

635 名前:デフォルトの名無しさん (ワッチョイ ffce-SmTw) mailto:sage [2017/01/21(土) 23:28:36.95 ID:sMDuy5hJ0.net]
2017年 JavaScript★71.9%ものサイトがjQueryを利用 [無断転載禁止]©2ch.net
tamae.2ch.net/test/read.cgi/prog/1485008061/

636 名前:デフォルトの名無しさん (ワッチョイ a3bc-1yXr) mailto:sage [2017/01/22(日) 04:51:43.75 ID:A/ZA38Cw0.net]
誰かcanvas要素に詳しい方おられますか?

637 名前:デフォルトの名無しさん (ワッチョイ ffce-SmTw) mailto:sage [2017/01/22(日) 05:41:00.88 ID:etjPL+qg0.net]
>>630
CreateJS(canvasを使うライブラリ)でよければどうぞ

canvas要素を使うのは昔やったけど
手間がかかるだけなのでもうやっていません



638 名前:デフォルトの名無しさん (ワッチョイ ea98-Y1AZ) mailto:sage [2017/01/29(日) 15:32:31.23 ID:CHlx9RpS0.net]
JavaScript ベスト・オブ・ザ・イヤー 2016
https://risingstars2016.js.org/ja/

JavaScriptコミュニティは日々進化しています。今日のトレンドも数か月後には陳腐化しているなんてことは日常茶飯事です。

2016年は終わってしまいましたが、何か重要なことを見逃したのではないかと感じているそこのあなた! 2016年の主要なトレンドをおさらいして、そんな不安を払拭しちゃいましょう。

過去12か月に獲得された Github のスター数を比較して、2016年に支持を集めたプロジェクトを数値に基づいて評価していきます。

2015年はなんといっても React でした。そして、Flux 実装を席巻したのは Redux でしたね。 2016年、JavaScript の人気プロジェクトはどのようなものだったのでしょうか?

639 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/29(日) 17:23:53.48 ID:MoCVqVidr.net]
Web制作板の荒れようが酷いね。
あっちにもワッチョイが導入されればいいのに。

640 名前:デフォルトの名無しさん (ワッチョイ bb4a-Y1AZ) mailto:sage [2017/01/29(日) 18:26:37.78 ID:tEr1J88h0.net]
質問者はこちらへどうぞ。
ワッチョイ付きなので荒らしの区別が付きやすいと思われます。

JavaScript の質問用スレッド vol.132 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/hp/1485265364/

641 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/29(日) 22:06:52.93 ID:MoCVqVidr.net]
>>634
ワッチョイ付いてないよ?

642 名前:デフォルトの名無しさん (ワッチョイ a6a7-AZYz) mailto:sage [2017/01/29(日) 22:45:11.28 ID:IWUOXBQT0.net]
idないまま放置されてる時点であの板はもうダメだよ

643 名前:デフォルトの名無しさん (ワッチョイ ea98-Y1AZ) mailto:sage [2017/01/30(月) 00:50:26.53 ID:UteNnrEq0.net]
ワッチョイってできる板とできない板があるの?

644 名前:デフォルトの名無しさん (オッペケ Sr13-wtXX) mailto:sage [2017/01/30(月) 12:23:30.70 ID:GF8hSJkSr.net]
>>637
ある、Web制作板はワッチョイ未導入

645 名前:デフォルトの名無しさん (ワンミングク MM1a-bF0B) mailto:sage [2017/01/30(月) 23:53:44.29 ID:pve8veDdM.net]
匿名ゆえの荒れっぷりも楽しめないなら2ch引退した方がいい
オープンなコミュニティで実名でワイワイやればいいじゃん?

646 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/01/31(火) 16:57:16.78 ID:RySlSGrka.net]
質問スレで煽り合いを楽しむなら、まともに質問をしようとは思わないかな
「煽りを楽しみにきてるのに何を真面目に回答しちゃってるの?」と返すのが当たり前になって質問スレとしては機能しない

647 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 00:18:27.87 ID:KFM30q9x0.net]
ゆとりに何を言っても無駄。
とはいえゆとり汚染の酷い2chは使えないのも事実。
いいとこあったら紹介してくれよ。見てみるから。



648 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/02/01(水) 01:33:43.68 ID:TDICbD4za.net]
比較的まともなのはこの辺かな
stackoverflow.com/questions/tagged/javascript
ja.stackoverflow.com/questions/tagged/javascript
https://teratail.com/tags/JavaScript

649 名前:デフォルトの名無しさん (ワントンキン MM1a-bF0B) mailto:sage [2017/02/01(水) 07:32:14.32 ID:QtOB6vhPM.net]
ja.sfはちょっと…

650 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 19:32:56.21 ID:KFM30q9x0.net]
ja.stackoverflow: 質問する前に教科書読めと言いたくなる、てかそっちの方が絶対速いだろ。
何故ゆとりは「まず質問しよう」とするのか分からん。
teratail: 同上、そして宣伝文句がいちいち頭に来たので今後とも相手にする気はない。

結局本家stackoverflowしかないのか?
あそこはTips集としてはまあまあだが、しかし話す場所じゃない。
質問したいわけではなくて、知っている奴と話したいだけなんだが。
(身の程をわきまえていない初心者は要らない。
つか普通にやれば実装出来る件をいちいち質問するな。
その点本家stackoverflowはグーパン食らわせるらしいので、
結果的にずいぶん質問がまともになっているように見える)

651 名前:デフォルトの名無しさん (アウアウウー Sa7f-Q0kd) mailto:sage [2017/02/01(水) 21:46:44.25 ID:ZhA7/VZ0a.net]
2chよりマシなQ&Aサイトを紹介しただけなんだから、いろいろ条件があるなら先出ししてくれないと分からないよ
質問をしなくてよくて初心者お断りな情報交換サイトを求めるならQ&Aサイトに行くのが間違ってる
見知った人とtwitter等のSNSサイトで情報交換すべき

652 名前:デフォルトの名無しさん (ワッチョイ 33a1-fMLr) mailto:sage [2017/02/01(水) 22:05:02.95 ID:lpyRA1Jp0.net]
移動しないとは言ってないし
これでさよならって事で良いんじゃない?

653 名前:デフォルトの名無しさん (ワッチョイ 5b5b-AZYz) mailto:sage [2017/02/01(水) 23:32:49.62 ID:KFM30q9x0.net]
>>645
なるほどご指摘はごもっとも。
しかし問題なのは見知った人が居ないことだ。本業の言語ではないので。
とはいえ逆に言えば、それが出来る人達は最早2chを使う必要はないわけだから、
ここで待っていても芽がないのかもしれんね。

654 名前:デフォルトの名無しさん (ワッチョイ ffe1-MPVQ) mailto:sage [2017/02/03(金) 02:11:34.67 ID:KVEM3lJ90.net]
>>647
初心者お断りでそこそこ人がいるコミュニティは(初心者が手を出さないジャンル除いて)成立しないでしょ
初心者叩きで環境が悪くなって人が減るか、中級者すら入れないガチ勢のコミュニティになるか

655 名前:デフォルトの名無しさん (ワントンキン MM1f-4SR0) mailto:sage [2017/02/03(金) 21:35:46.61 ID:LN7efSZ0M.net]
真面目な話この業界は空気悪くなっていいから初心者フルボッコして排除した方がいい
これ以上ITインフラを初心者に破壊されたらもう日本はもたない

656 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/03(金) 23:16:19.84 ID:CYbB7nGp0.net]
>>648
ゆとりは死ね。
まあお前らはそうやってコミュニティを破壊してきたんだろうし、今後もそうするのだろうけどね。

ちなみに
> 中級者すら入れないガチ勢のコミュニティ
これを知っているのなら教えてくれ。見てみるから。

657 名前:デフォルトの名無しさん (アウアウイー Saa7-qrch) mailto:sage [2017/02/03(金) 23:26:15.16 ID:+w29p6mxa.net]
>>649
babel君は省みないから意味ないかもよ



658 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:26:00.81 ID:ViRk+dgw0.net]
全くもってシロートです。
この海外通販サイトであるメーカーの品を買いたいのはですが、そのメーカーの品は日本の代理店が圧力かけてカートに入れることが出来ません。
スマホからChromeを立ち上げて、
発送先(国旗のマーク)を他国にし、カートに掘りこんで放置。
他のサイトを色々見たあともう一度放置したタブを見ると(再読み込みしてた)
発送先が日本で目当ての品もカートから消えずに残ってた事が数回ありました。
一度発送先日本でカートに入れられた物は買うことができます。
その方法で数点買うことができました。
しかし、毎回出来るわけではなく、できる方が少なく困っています。
何か法則があるのでしょうか?
または、スタイルシートなどでそれを解除することは可能でしょうか?
教えてクレクレは重々承知ですがお願いします。

659 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:27:04.69 ID:ViRk+dgw0.net]
サイトのURl 貼るの忘れてました。
ttps://www.trekkinn.com/

660 名前:デフォルトの名無しさん (ワッチョイ d319-kMoN) [2017/02/08(水) 13:28:31.02 ID:EzKDTKh80.net]
【BS11:スポーツ】 <BSイレブン競馬中継>放送時間:毎週土・日曜日 正午〜(第1部)/ 午後4時00分〜(第2部) www.bs11.jp/sports/bs-keiba/

661 名前:デフォルトの名無しさん (ワッチョイ 7fba-yGjQ) [2017/02/08(水) 13:31:57.30 ID:ViRk+dgw0.net]
>>653
他にもあるのですが、代表的なカートに入らないメーカーGregoryです。

662 名前:デフォルトの名無しさん (ワッチョイ 5317-wVGn) mailto:sage [2017/02/08(水) 16:25:27.72 ID:ekjB8NPA0.net]
>>655
発送先変えようが串刺そうがブラウザ設定言語変えようがcookie消そうがそもそも
ttps://www.trekkinn.com/outdoor-mountain/gregory/1010/m
が表示されない
表示される機会自体が限定的なんじゃねーの
googleキャッシュからなら一応見れるけど

つーかJavascriptで制御してることはまずない
それだったらJavascript切れば済む話

663 名前:デフォルトの名無しさん (ワッチョイ 037b-AtEE) mailto:sage [2017/02/08(水) 16:52:40.63 ID:OCW6swXT0.net]
>>652
ここが
> この板はプログラムを作る人のための板です。
という事を知っていると言う前提で回答

そういうプログラムを作って欲しいという依頼ならばこの板は板違い
ランサーズとかで10-30万円くらいで募集かければ作ってくれるだろう

自作したいから教えろと言う意図ならば、全くの素人が今すぐ自作するのは無理と答えておく

664 名前:デフォルトの名無しさん (アウアウカー Sae7-yGjQ) [2017/02/08(水) 17:37:55.35 ID:k6/0uGHAa.net]
>>656
すいません。
発送先をalbania で表示できてます。
そのままカートに入れて、発送先を日本に変えるとカートは0
また発送先変えるとカート内は復活します。
私はスクリプトのタイムラグで希に日本にしてもカート内に表示されるのだと憶測したのですが。

>>652
すいません、板違いですね。
理屈がわかれば退散しますので、解明してもらえたら嬉しいです。

665 名前:デフォルトの名無しさん (アウアウカー Sae7-yGjQ) [2017/02/08(水) 17:53:00.49 ID:k6/0uGHAa.net]
わかっている情報としては、

はじめから実装されておらず、買えなくなったのはかこ最近。
(後からスクリプトを書き足した?)

一度やけくそで発送国変えてカートに十数個掘りこんで、日本に変えたらそのままカートに残ってた事があった。

666 名前:デフォルトの名無しさん (ワッチョイ 037b-AtEE) mailto:sage [2017/02/08(水) 18:04:00.30 ID:OCW6swXT0.net]
>>658
板違いがわかったならとっとと立ち去れ
自分だけは許されると思うな カス

667 名前:デフォルトの名無しさん (ワッチョイ 767b-Hg1I) mailto:sage [2017/02/09(木) 03:27:01.86 ID:9cVHqnIp0.net]
パソコンでブラウザを右クリックして、要素の検査から、F12開発者ツールが起動する。
それで、色々とデバッグしたりするけど、他人が作ったサイトを分析するのは、
自分が作ったサイトよりも、はるかに難しい

なぜかと言うと、相手はアプリの仕様を知っているけど、我々には分からないから

JavaScriptでは、後からデータを読み込んだりもするから、
ネット回線の都合で、数分後にはデータが読み込まれて、サイトの表示内容が変わる

しばらくサイトを放置して、再読み込みされた後に、状況が変わるのはそのせい

どの道、プロでも他人の作ったサイトを、仕様書無しで分析することは、まず無理。
しかも決済機能があるサイトを、どのようにいじくり回しても、どこかでエラーが起きるし、
営業妨害・破壊工作とみなされて逮捕される



668 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 02:58:29.43 ID:ljnBJEQ70.net]
正規表現で置換したいのだが上手くヒット出来ないので知恵を貸してくれ。

用途:文字の装飾。func内で<s>$1</s>とか。デリミタは頭尾共**。
(**と**で囲まれた文字を装飾するために置換する。今は上手くヒットしない)
入力例: 'a**b*c**d*e**fg**h' に対し、b*c と fg をヒットさせたい。

var str = 'a**b*c**d*e**fg**h'; // a@d*e@h を得たい。
str.replace(/\*\*(.*)\*\*/g,'@') // a@h でNG。最長を取るため。
str.replace(/\*\*([^(\*\*)]*)\*\*/g,'@') // a**b*c**d*e@h でNG。[]内に()を使えないため。

複数文字でのデリミタって単純には無理?

669 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 03:17:09.68 ID:GTe30Tvn0.net]
non-greedyでググって

670 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 03:21:53.99 ID:GTe30Tvn0.net]
a@hで返されるやつをnon-greedy(.*?)にすればOK

671 名前:デフォルトの名無しさん (フリッテル MM7f-hS1q) mailto:sage [2017/03/03(金) 08:24:44.98 ID:+Iu6j6ikM.net]
>>662
あなたが期待しているのは non-greedyではなく、否定先読み (^**)
最長一致のままでバックトラックを最小限に抑えて書く事は出来る

更に発展させれば、先読みすら使わなくても書ける
** の固まりで考えずに * と [^*] に分けて文字列パターンを考えるといいだろう

672 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 15:34:12.20 ID:GTe30Tvn0.net]
>>665
このケースでnon-greedyよりも効率のいい否定先読みの表現があるならちゃんと示してよ

673 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 19:13:40.68 ID:ljnBJEQ70.net]
>>663-664
ありがとう。non-greedyが出来ると知らなかった。

>>665
いや、分けた時点で駄目だよな?
デリミタが**で、その間は任意の文字列が許容されている。例えば、

var str = 'i**j*k*l*m*n**o'; // i@o を得たい

途中に\*と[^*]がどういう順番で何個あってもそれは無視して、**という塊が来たときに終端する。
non-greedyで速度含めて問題無いように見えるし、(アルゴリズム的には最長一致より速いはず)
無理に最長一致で書く必然性は無いと思うがどうか。
(それ以前に俺は書けないが)

674 名前:デフォルトの名無しさん (ワッチョイ 1f3c-3wiD) mailto:sage [2017/03/03(金) 20:52:02.35 ID:GTe30Tvn0.net]
'a**b*c**d*e**fg**h'.replace(/\*\*((?!\*\*).)*\*\*/g,'@')
否定先読みはこんな感じ
これならnon-greedyのほうが効率いい

675 名前:デフォルトの名無しさん (フリッテル MM7f-fLnF) mailto:sage [2017/03/03(金) 20:55:57.43 ID:+Iu6j6ikM.net]
>>667
あなたは「バックトラック」について学ぶべきだな (ぐぐるなり、『詳説 正規表現 第3版』を購入して読んでみるなりすべき)
non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている
例えば、'**aaa**bbb**ccc**ddd**'.match(/\*\*.*?\*\*/g);
は初めに全ての文字列「**aaa**bbb**ccc**ddd**」を消費してからバックトラックする事で最短一致する事になる為、** の後続に非常に長い文字列が存在するとパフォーマンスが著しく低下する

デリミタが ** なら素直に書けば、こう
'a**b*c**d*e**fg**h'.match(/\*\*(?:(?!\*\*)[\s\S])+\*\*/g); // ["**b*c**", "**fg**"]

先読みを使わなければ、こう
'a**b*c**d*e**fg**h'.match(/\*\*(?:[^*]+\*)*[^*]+\*\*/g); // ["**b*c**", "**fg**"]

これらは「**」を飛び越えて消費する事が不可能なので無駄なバックトラックが発生しない

676 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/03(金) 21:41:53.09 ID:GTe30Tvn0.net]
否定先読みのやつはnon-greedyより効率悪いじゃん

知ったか君かと思ってたけどJSじゃないだけで
フクロウ本を読んでるちゃんとした人だったのね

677 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/03(金) 23:56:21.24 ID:ljnBJEQ70.net]
>>668-669
否定先読みも知らなかった。ありがとう。

ただ、俺が言うのもおかしいが、
> non-greedy は最長一致させてからバックトラック(前に戻る)して最短一致させている (>>669)
これは多分違う。明らかに実装依存だし、MDNはそちらの想定とは異なることを示唆している。
> x?
> *、+、?、{} といった量指定子の直後に使用した場合は、非欲張り (non-greedy)量指定子(最小回数にマッチ【訳注: スキップ優先】)となります。
> これはデフォルトのそれらとは逆であり、デフォルトのそれらは、貪欲 (greedy)量指定子(最大回数にマッチ【訳注: 繰り返し優先】)です。
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp
greedyの結果は必ずnon-greedyの結果を内包する為、そちらの言うとおりの実装も可能だが、
それはあくまで既存のgreedy専用ルーチンにnon-greedyを後付した場合だ。
最初から両方とも実装する気なら、入力文字列/正規表現文字列での2重ループで、
内外を入れ替えられるように構成すればいいだけ。(実際は別に作ってif文だと思うが)
この場合、「スキップ」が正規表現文字列の進行、「繰り返し」が入力文字列の進行を表している。
「スキップ」が内側ならnon-greedy、「繰り返し」が内側ならgreedyになる。
実際にどうかはコード見るしかないが。

この仮定どおりだと、今回に関してはnon-greedyが一番効率がいい。
正規表現検索が遅くなる理由は、内部のマッチング候補が無限に膨らんでいくからだ。
str.match(/\*\*(.*?)\*\*/g,'@') だとまず終端**であるか確認し、
駄目なら一つ進めてまた終端かどうか試すわけで、内部候補は最小の状態で保てる。
理屈上は線形時間*2で済む。(この場合は*3になるのか?)

話を総合すると、PCREは669の言うとおり、JSは多分違って670の言うとおり、ということなのかな?
まあ今回の部分はパフォーマンスは必要ないところなので、どちらでもいいんだが。
なお余談だが.NETではバックトラッキングを制御するための構文もあるようだ。
> 非バックトラッキング部分式、後読みアサーション、および先読みアサーション
> https://msdn.microsoft.com/ja-jp/library/dsy130b4(v=vs.110).aspx



678 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 01:24:10.21 ID:NAI/204b0.net]
あいや、先読み使わないやつはさすがに効率いい
**で囲まれた文字列が長くなるにつれ差が出る
JavaScriptでもPCREでも結果は同じだったよ

“a**b*c**d*e**fg**h”の場合
i.imgur.com/vSin3OI.png

“a**bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb*c**d*e**fg**h”の場合
i.imgur.com/kkSEjXb.png

679 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 01:55:33.59 ID:NAI/204b0.net]
ここで試せる
https://regex101.com/

JavaScriptはstep数が表示されないけどPCREなら表示される

680 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:09:58.23 ID:w0C/5a4w0.net]
>>672
ご苦労様だがそれはバグってるぞ。(間違えているのは君ではなくRegexBuddyの作者)
正確に言うと仕様を間違えている。最上位しかカウントできてない。
だから「backtrackを最小にするような正規表現」を考えるのにはいいが、
「最高速の正規表現」の評価には使えない。(元々これが仕様なのかもしれんが)
実装を考えれば分かる。

var i = 0; // 文字列位置、参考用
var str = 'a**b*c**d*e**fg**h'; // とする。

/\*\*(.*?)\*\*/gの場合、
まず**を探す、これは線形だから省略する。
問題はそれがマッチした後、つまり今 str[2] まで来ているとして、(今はi=2)
1. if (str[i]==='*') // 終端1文字目 ←これしかカウントしてない
2. if (str[i+1]==='*') // 終端2文字目
3. if (str[i]===何でもいい) // .* とマッチ
で、1.しかカウントしてないだろ。2と3を本当はカウントしなければならない。

だから/\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、
君が広げているところで
**bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
が1カウントでいきなり出てるだろ。
それは本当は [^*]+ にマッチしているかどうかを確かめながら進行してるんだから、
if (str[i]!=='*')
を毎回やってる。ところが、それがカウントされてない。
本来はそこで文字列長さ分だけカウントされてないと駄目。

681 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:10:24.99 ID:w0C/5a4w0.net]
話を戻すと/\*\*(.*?)\*\*/g、1と2はショートカット論理であり、3は常に成立だから、
最適化がかかっていれば以下。
1. if (str[i]==='*' && str[i+1]==='*') // 終端
else { .* に常にマッチ }
だからマッチ回数は「**内文字列長さ+**内の*の個数」となる。

結論としては、両方ともほぼ同じだが、
/\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら
そこでいちいちバックトラックするだろ。
/\*\*(.*?)\*\*/gの場合はそれがない。だからこっちの方が速いと思うよ。

682 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 02:22:51.10 ID:w0C/5a4w0.net]
>>673
つかこれ、JavaScriptはそのまま実行してるだけの気が、、、
それ以外はエミュしているからstep数出せるのだろうし。

ただPCREは中間コードを吐いて実行させるらしいから、
[^*]+の展開と他の比較に明確な速度差があって、
最上位だけカウントすればいいのかもしれない。

V8のは直接nativeを吐くらしいし、
俺の実装仮定はC言語的にnativeで、[^*]+の展開と他の比較も同速だから、
この見積もり方法だとPCREだとフィットしないのかも。

683 名前:デフォルトの名無しさん (フリッテル MM7f-hS1q) mailto:sage [2017/03/04(土) 14:14:02.07 ID:GYl4MmX4M.net]
>>675
> /\*\*(?:[^*]+\*)*[^*]+\*\*/gの場合、途中に*を混ぜられたら
> そこでいちいちバックトラックするだろ。
バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする?
とはいえ、**aaa** でもバックトラックしてしまうのは問題なので /\*\*[^*]+(?:\*[^*]+)*\*\*/g にすべきだったな

684 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 15:27:38.88 ID:w0C/5a4w0.net]
>>677
> バックトラックは ** が出現した時だけだと思うが、* が出現するとどういう原理でバックトラックする?
これは俺の間違いだった。
>>672見て後ろ [^*]+ から探索しているのが不思議だったんだが、
それが俺の勘違いで、あれは前側をgreedyで取りきった残りカスだった。
ただそれならそちらも気づいたとおり、デフォで1回バックトラックするよな。

/\*\*[^*]+(?:\*[^*]+)*\*\*/は微妙に仕様が異なる。(現実的には問題ない)
ただこれもそちらの定義のバックトラックではないが、もう一段低いバックトラックはしてるだろ。
*が出現した場合、次の文字を検査し、(?:\*[^*]+)に該当するか、 --- (A)
駄目なら**になるか、の検査をしている。 ---(B)
(A)があるだけ/\*\*(.*?)\*\*/gより遅い。こちらはBしかしないから。
(ただし「A=!B」の最適化をかけられれば同速になる)

そもそもバックトラックのあり/なしで考えるのが時代遅れなのだと思うよ。
そこは本質ではない。wiki見りゃ分かるが、
バックトラックなし(そもそもアルゴリズムが違う)の正規表現探索ルーチンもあるし、
V8も今はIrregexpでChrome57からCodeStubAssemblerなんだっけ?
Perl互換である必要が無ければ、PCREを使う必要も無くて、
機能が少ないのなら、その分高速なルーチンを作成できるのも当然だし。

本質的には探索木が分岐しないことでしょ。
/\*\*(.*?)\*\*/gは全く分岐しないんだよ。
だからnon-greedyを正しく実装していれば最速になる。
(?:\*[^*]+)も完全に最適化されれば同じだけど、
(?:\*[^*]+)*\*\*と頭側の\*が2回別に書かれている点が最適化しづらい。
(まあこの程度なら最適化されるのかもしれないが)

685 名前:デフォルトの名無しさん (ワッチョイ 1fce-NqFr) mailto:sage [2017/03/04(土) 16:39:44.96 ID:fiOXClU60.net]
お前らに一言言っておこう。

正規表現というのは文字列(単語)を認識するものであって
文字列と文字列の関係(構文)を認識するものではない

なんでも正規表現でやろうとするやつは馬鹿がすることだ。
正規表現以外の方法を知らない愚か者だ

686 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 17:11:29.26 ID:w0C/5a4w0.net]
本日の愚か者>>679

この場合は正規表現が最適だろ。
str = str.replace(/\*\*(.*?)\*\*/g,'<s>$1<\s>');

687 名前:デフォルトの名無しさん (ワッチョイ 1f3c-dv7B) mailto:sage [2017/03/04(土) 17:21:07.94 ID:NAI/204b0.net]
文字列別にjsPerf作った
やっぱChromeだけちょっと特性が違う

https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate
https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-2
https://jsperf.com/non-greedy-vs-negative-look-ahead-vs-negate-3

>>674
カウントの仕方は今度作者に聞いてみるわ



688 名前:デフォルトの名無しさん (ワッチョイ eb5b-BJNc) mailto:sage [2017/03/04(土) 17:33:12.13 ID:w0C/5a4w0.net]
>>679
ちなみに正規表現の濫用が指摘されだしたのはPerlからだろ。
JavaScriptの正規表現ってそこまで機能ないし、濫用できないと思うが。

多分なあ、バックトラックとかの調整をユーザーが意識しだした段階でそろそろやりすぎなんだよ。
今回もそうだが、大半のケースで自前でループまわした方が速かったりするし。
さらっと書いて遅かったら手で回す、位でいいと思うが。

689 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/18(土) 21:27:33.25 ID:sZCCfY8g0.net]
画面を左右で分けて
画面右でクリックされたらAの処理
画面左でクリックされたらBの処理
ってやりたいのだけどこの場合どうすればいい?

690 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/18(土) 22:47:45.17 ID:waR+gchT0.net]
>>683
onclickイベント関数の引き数eにclientXが格納されているからそれを見る。
https://developer.mozilla.org/en-US/docs/Web/Events/click
https://developer.mozilla.org/en-US/docs/Web/Events

以下で試してみ。
document.getElementsByTagName('body')[0].onclick = function(e){console.log(e.clientX);};

691 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/18(土) 22:48:01.74 ID:vBdYmHk50.net]
画面って?

692 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/18(土) 23:33:51.54 ID:sZCCfY8g0.net]
ウインドウ画面のこと

>>684
ありがとうございます。
やってみます。

693 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 15:22:00.36 ID:L+LO5eNf0.net]
可変するdiv枠内で、画像が中央に一枚あり
画像がdiv枠内からはみ出さず且つ画像サイズが最大になるように
画像のサイズを調整したいのですがどうするといいでしょうか?

イメージ的にはこんな感じです。
bashalog.c-brains.jp/images/150810_fujimori_01.png

694 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/19(日) 21:45:28.77 ID:Lj5IhMr80.net]
>>687
CSSじゃなくてJavaScriptでやりたいの?

695 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/19(日) 21:49:48.67 ID:DAQ4XfnCM.net]
>>688
CSSで解決出来ると思って別スレで質問したが、思った回答が得られなかったのでこっそりマルチポストしてるのだろう
echo.2ch.net/test/read.cgi/hp/1488192984/384-

696 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/19(日) 21:58:04.92 ID:Lj5IhMr80.net]
そっか

>>687
CSSで出来るよ

697 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 21:59:01.69 ID:L+LO5eNf0.net]
>>688
>>690
できました。
ホントのホントにありがとうございます。



698 名前:デフォルトの名無しさん (ワッチョイ a30e-qdcG) mailto:sage [2017/03/20(月) 00:12:43.52 ID:UPidTP050.net]
var px = '123.45';
Number(px); //123.45
parseFloat(px); // 123.45
px = '123';
parseInt(px, 10); // 123

javascriptの型変換について、
どれを使うべきってあるのでしょうか?
私は、次の3つのうちどれかを使えばokって認識なのですが、
一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき
とかってありますか?
parseFloat
Number
parseInt

699 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 00:52:54.32 ID:G9+XvfW+0.net]
var px = “2ch”
の時にどうしたいかで使い分ける

700 名前:デフォルトの名無しさん (ワッチョイ a30e-qdcG) mailto:sage [2017/03/20(月) 01:35:56.30 ID:UPidTP050.net]
>>693
なるほど。

ところで皆さん、自分の過去に作ったコード読んで意味不明とか
何で動いてるか分からないってありますが?
私は、結構そんなコードあるんですが、
やっぱり処理フローとか資料とか作っといたらいいのでしょうか?

701 名前:デフォルトの名無しさん (ワッチョイ 53ee-RygQ) mailto:sage [2017/03/20(月) 04:59:35.86 ID:jSqJf+ps0.net]
>>692
parse系は単位付きの文字列から変換する時か、基数を変える必要があるときのみ
一番いいのは+演算子、次点でNumberや数値で取得するメソッドを使うこと
◎ val = +elm.value
○ val = Number(elm.value)
○ val = elm.valueAsNumber

>>694
資料までは要らないが、コメントは最低限必要
でもコメントを残しとかないといけないような所はできるだけ少なくしたいもの
まあ上達してくれば徐々に減る

702 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 05:22:32.26 ID:9l8mop6tM.net]
>>695
一番上は暗黙の型変換だからおれは勧めないな
時代に即さない

703 名前:デフォルトの名無しさん (ワッチョイ bf7d-tpgq) mailto:sage [2017/03/20(月) 06:29:26.82 ID:b6MPn9SR0.net]
var hoge = function(){...}; と function hoge() {...} ってどっちもhoge()で呼び出せますが、
どちらの書き方が好ましいんでしょうか?

704 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 06:36:41.80 ID:9l8mop6tM.net]
>>697
変数に入れる理由がわからないうちは普通にfunctionで書く方がいいよ

705 名前:デフォルトの名無しさん (ワッチョイ bf7d-tpgq) mailto:sage [2017/03/20(月) 06:41:44.71 ID:b6MPn9SR0.net]
>>698
こんな時間に即レス感謝です。変数に入れる理由って、引数で関数渡す場合ですかね?
前者の表記の場合、関数ポインタ分メモリを余計に消費してしまうって言う理解で正しいですか?

706 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/20(月) 06:54:28.26 ID:9l8mop6tM.net]
>>699
引数で関数渡すときに変数に入ってるかどうかは関係ないよ
function構文でも同様に渡せる

メモリ云々は考えない方がいい
どうせ意味のないレベルだし内部実装がどうなっているかによる

無名関数を変数に入れるということは途中でそれを破棄する事も出来る
GCが走れば当然メモリは解放される
これも微々たるもので千個万個定義するとかじゃないかぎりほとんど意味はない

まず、javascriptのプロとタイプについて調べ、なぜ無名関数が必要なのか、どう使うのかを勉強したらいいよ

きっと今のレベルであれこれ考えても意味がないよ
あと、他の言語の知識はいったん全部忘れるほうがいい
他の言語の知識ありでJSをとらえようとすると余計なフィルターがかかって本質がいつまでもたっても見えないとおもう

ぶっちゃけ、javascriptは他の言語とは比較にならないレベルで難解だよ
やるなら書籍買い込んで本気で基礎からやったほうがいい

707 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/20(月) 10:41:29.41 ID:dCGuhToEa.net]
再利用出来そうなら関数文、出来なさそうなら関数式で分けてるわ



708 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 10:42:58.03 ID:5J3+8zMD0.net]
毎回思うがデタラメ言うやつが多いから気をつけろよ。
こんなのはJavaScriptのスレだけなのだけどね。

709 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 12:34:37.78 ID:RyskYj8DM.net]
>>692
対象の変数値によって最適解が異なる。

// ToNumber 系
Number(px);
+px;

// 文字列パース系
parseInt(px);
parseFloat(px);

// DOM API 系
element.valueAsNumber

ToNumber 系は Number 型への変換だけを行い、文字列パース系は Strimg 型に変換してから、文字列の前方にある数値文字列を対象に Number 型へ変換する(数値文字列の後続文字列は読み飛ばす)。
単純なNumber型への変換を求めるなら ToNumber 系で十分であり、文字列パース系は数値以外が混在する String 型が適する。
element.valueAsNumber は対象ブラウザが許すなら使える。
caniuse.com/#feat=input-number

710 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 12:42:39.52 ID:RyskYj8DM.net]
>>697
変数の巻き上げ(hoisting)を望まないなら変数宣言を行い、そうでないなら関数宣言を使用すれば良い。
>>6のJavaScript Gardenを参照する事を推奨する。
巻き上げを望まないなら const, let を使いたくなるだろうが、対応ブラウザの関係でトランスコンパイラなしでは扱いにくいところがあるので、要求パフォーマンス及び対象ブラウザ次第といえる。

711 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/20(月) 13:30:33.76 ID:1qi4KoAma.net]
const大好きっ子だから早く完全に対応してほしい
少なくとも9割はconstにしたい

712 名前:デフォルトの名無しさん (フリッテル MM7f-pqpN) mailto:sage [2017/03/20(月) 13:52:50.29 ID:cId9IEOYM.net]
constはオブジェクトに優しくないからなー

713 名前:デフォルトの名無しさん (ワッチョイ bf5b-YDOq) mailto:sage [2017/03/20(月) 13:56:00.98 ID:+zI9Fl+i0.net]
const長いから3文字ぐらいに縮めて欲しい

714 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 14:06:55.06 ID:OAxC6OTFa.net]
constはインデントが揃わないから嫌い

715 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 14:15:35.01 ID:5J3+8zMD0.net]
>>694
> 私は、結構そんなコードあるんですが、
一応ヒントだけ言っておくと、
> 私は、次の3つのうちどれかを使えばokって認識なのですが、(>>692)
この認識が間違い。
> 一般的にとか、このスレ的に推奨とか、〜の理由でこれを使うべき
一般的に〜の理由でこれを使うべきというのはあって、それはMDNを読めば分かる。

資料やコメントも重要なのだけど、それ以前に、
資料やコメントが無くても分かるコードを目指さないといけない。君はそれができてない。
分かってないやつが書いた資料やコメントなんて使い物にならない。今の君がそう。
だから繰り返しになるが、今はまず、何故そのコードなのかを明確にするように書け。
そして「本来は○○を使うべきだが△△の理由で□□を使っている」場合にそこにコメントつけるんだよ。
そうすれば、自分流のスタイルは統一され、自分のコードが読めないことはなくなる。

次に、他人のコードが読みにくいというのが発生するが、これは上記、
「自分流」と「他人流」が違うから。
ただそれも、だんだん「自分流→他人流」の変換テーブルが出来るから読めるようになる。

その上で、この変換テーブルの作成コストを下げたいというのなら、
「自分流」を世の中の「多数派」に合わせることが必要で、
それは自分であちこちのサイトを巡ってF12押して確認しろ。
ここはマジでデタラメばかり言うやつが多すぎる。

716 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 14:39:28.75 ID:mV22Zu+/a.net]
この句点付きはいつものキチガイだから無視するように
こいつの言ってることが既にデタラメだからな

717 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 17:01:21.30 ID:G9+XvfW+0.net]
ファイルの中で全体から部分へ詳細化する形で書けるから俺は関数宣言のほうが断然好み
でも関数宣言より関数式を使うほうが一般的なんかね?

airbnb.io/javascript/#functions
https://medium.com/@ryanflorence/functions-without-function-bc356ed34a2f

Airbnbなんかは関数宣言使うと可読性とメンテナンス性が落ちるって書いてるけど
関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる



718 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 17:04:42.33 ID:G9+XvfW+0.net]
あとNumber vs parseIntは俺は基本Numberを使う
基数指定が不要で可読性が高いから
parseInt使うのは特別なケース
仕事のコードなら規約に従うけどね

719 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 17:07:48.80 ID:RyskYj8DM.net]
> 「自分流」を世の中の「多数派」に合わせることが必要で、
わけも分からず、多数派に合わせるのはお勧めしない。
自分の中で納得できる理屈を確立できるまで突き詰める探求心こそが必要。
流行次第で変化する多数派に合わせることはそれ程重要ではない。
観測範囲によっても多数派は変わるだろうしな。

720 名前:デフォルトの名無しさん (フリッテル MM7f-EJeZ) mailto:sage [2017/03/20(月) 17:22:11.55 ID:RyskYj8DM.net]
>>711
一般的かどうかは分からないが、関数式を使う人の心理としては「関数定義後に関数呼び出しする原則」を徹底したいのだと思う。
関数宣言では宣言の記述前に関数呼び出しする事が出来てしまう。
勿論、コーディング規約やポリシーで制限することは出来るのだが、宣言前に呼び出したらエラーになる強制力が欲しいと感じるのだろう。

> 関数式使ってるのほうが可読性が低いと感じるコードが多いと思ってる
個人的には同意なのだが、
所詮、可読性は主観的な評価なので慣れてしまえば、どちらでも大した違いはないと思う。
「どちらが可読性が高いか」ではなくて「どちらが自分にとってしっくりくるか」という感覚的なもの。
可読性でいうならアロー関数は可読性が低いと感じるが、新しいもの好きやショートコーダの人は平気で書くだろう。
それは「可読性を落としてでも書くメリットがある」か「自分自身の目を養って自分の可読性能を上げよう度努力した(慣らした)」のだと思う。
その辺のバランス感覚は人それぞれなので自分の中で完結するのは良しとしても、他人に可読性が云々という人を見ると「あなたの個人的な感想では?」と感じることはある。
(あなたがそうといっているわけではないが、このスレでも比較的そういう人を見かけるな)

721 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/20(月) 17:50:30.15 ID:9zw9z92Za.net]
>>707
var、let、と来てるんだからconでいいのに

722 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 18:23:45.84 ID:5J3+8zMD0.net]
>>711
> Why?
> Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file.
> This harms readability and maintainability. 
> If you find that a function’s definition is large or complex enough that it is interfering with understanding the rest of the file,
> then perhaps it’s time to extract it to its own module!
> Don’t forget to name the expression - anonymous functions can make it harder to locate the problem in an Error's call stack.
> ([Discussion](https://github.com/airbnb/javascript/issues/794))
まずこれが嘘だろ。
関数宣言はどこにでも置けるのだから、関数式を置いている場所においても動作は問題ない。
遠くに置いて見にくくなるのなら、近くに置けばいいだけの話。
結局のところ、訳の分からない場所に置く馬鹿がいることが問題なんだよ。

関数式で前方宣言を強制することは出来る。
しかし、前方宣言が文法的に強制されているCに於いては、糞だと言う人のほうが多い。
だからそれ以降の言語、おそらく全部で、この仕様は捨てられているわけでね。

どこにでも置けるという、より自由度が高い方法を適切に使いこなした場合、
より自由度が低い方法でそれを超えることは出来ないのは当然。
それを馬鹿に合わせてどうするんだ、って話。

ただまあ、JavaScriptにおいては、このスレに限らず、Web上にもこの手のトンデモ情報が多すぎる。
ホームグラウンドだってこともあるのだろう、未熟者がお気軽に情報発信してしまいすぎている。
だから余計におかしくなる。

ただし、実はメンテ性は少し落ちる。
何らかの変更でポインタが必要になった場合、関数宣言→関数式に変えるが、
前方宣言強制になるので、理想的には、最初から関数式で書いた場合に置いたであろう場所 ---(A)
に移動させることになる。ところが、2段階とかで呼んでいる場合、それが分かりにくいので、
機械的にやってしまうのなら、関数内の頭に持っていく ---(B)
しかなくなる。で、(B)が嫌いなら残念なことになる。気にしないのなら大して問題はない。

723 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 18:25:08.33 ID:5J3+8zMD0.net]
というのは、C出身の俺は「出来るだけプログラマに委ね、プログラマ自身が最適化すべき」と考えるから。
Pythonはそうじゃないから、彼らは上記を読んだら発狂するのかもしれないが。
ただ、JavaScriptは「何でも出来る系」の言語なんだけどね。

724 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 19:17:45.58 ID:5J3+8zMD0.net]
ああすまん、間違ってた。
Pythonは前方参照禁止なんだな。驚きだわ。

Cで糞々と言われる前方参照禁止を採用←Python
COBOL以来(多分)の文法的インデントを採用←Python

Pythonはかなりクレイジーだな。
そしてJavaScriptをPython流にすると関数式強制になるのかもしれん。
なお改行については以下参照
> A Python programmer attempting Java
> https://i.imgur.com/wG51k7v.png
諸悪の根元はPythonerか?

725 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/20(月) 19:37:09.70 ID:86KGYLzra.net]
>>718
括弧が気持ち悪すぎる

726 名前:デフォルトの名無しさん (ワッチョイ 53ee-RygQ) mailto:sage [2017/03/20(月) 20:54:11.25 ID:jSqJf+ps0.net]
つうか何度も話題に出てるがlet,constは巻き上げされないというのは誤り
そもそも変数とはスコープ内で有効になるものなのだから、
スコープ内のどこで宣言されても変数として巻き上げされるのは当たり前
巻き上げされないのは変数自体ではなくて変数の初期化(利用可能化処置)
初期化句以前では初期化以外での参照不可状態に設定されているだけ
このエリアを通称TDZと言う

727 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 20:58:49.82 ID:5J3+8zMD0.net]
>>719
すまん、改行じゃなくて括弧だったわ。(まあ改行もだが)
俺は初めて見た時には一瞬フリーズした。
そしてその後、波括弧がうぜーってのはこういうことかーと思った。

>>711
追加。
> でも関数宣言より関数式を使うほうが一般的なんかね?
俺は専門ではないが、少なくとも俺は全面的に関数式のソースは見たことがない。
今数サイト見てみたが、普通に関数宣言が使われている。
そして多分今後とも「全面的に関数式」にはならないと思う。
他言語(C/C++/Java/C#)から来た連中が「全面的に関数式」で書くはずがないし。

なお日本語ページは逆となっている
> 7.1 関数式より関数宣言を利用してください。
> https://github.com/mitsuruog/javascript-style-guide#関数functions
状況からすると改訂されたのだろう、おそらく以下。

const foo = function () {}; // ×
function foo() {} // △
const foo = function bar() {}; // ○

いずれにしてもAirbnb自体は有名らしい。
一体こいつらがどんなコードを書いているのかと思って探してみたが、
リーダーは確かにこの通り書いているね。
https://github.com/ljharb
個人的には余計に見にくくなっていると感じるが、この辺は所詮慣れだからねえ。



728 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 21:43:46.42 ID:G9+XvfW+0.net]
>>721
おお改訂されてるね
改訂した理由をいくつかのコード例とともに語られてると参考になるんだけど残念ながらそういうのはないね

729 名前:デフォルトの名無しさん (ササクッテロロ Sp97-DSCq) mailto:sage [2017/03/20(月) 22:50:20.09 ID:jJoyVxl9p.net]
javascriptは難解
よくプログラミング初心者にjavascript勧めるやついるけど、とんでもないよ

JavaやPHPの方が簡単
フロントPGが少ないのよく分かるわ
だって難いもん

サーバサイドと違ってHTMLやCSSをブラウザー毎の動きまで踏まえて完璧に読み書き出来ないとダメだし、少し現場から離れるとすぐわかんなくなるし大変だわ

730 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 23:02:03.61 ID:5J3+8zMD0.net]
>>722
一応ここはWeb上の議論で改訂されてるらしいから、漁れば出てくるはずだけど、
俺はGit慣れしてないから無理だ。試しに数個ポチって見たが出てこない。
Git慣れしてるんならクローンしてローカルで検索出来るんじゃねーの?知らんけど。
https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7

731 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/20(月) 23:24:59.75 ID:G9+XvfW+0.net]
>>724
改訂されたコミットみても具体例とか書いてないのよ
https://github.com/airbnb/javascript/issues/1008

732 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/20(月) 23:41:37.98 ID:5J3+8zMD0.net]
>>725
これちなみにGitHub上で検索した?やっぱローカルクローンから?

なお、見た目は7.11に合わせる為に間違えて修正してしまったようにも見える。

733 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 14:00:12.05 ID:utcvU+/f0.net]
なんで
const foo = function () {}
が×なんだろうな
ES2015からこの書き方でもnameが付くようになったでしょ?

734 名前:デフォルトの名無しさん (ワンミングク MM5f-PRkG) mailto:sage [2017/03/21(火) 14:11:53.03 ID:AW7YBj5fM.net]
>>727
それ普通にfunctionでいいじゃんw

735 名前:デフォルトの名無しさん (アウアウウー Sa37-pJ3D) mailto:sage [2017/03/21(火) 14:22:36.92 ID:XvUQo6M0a.net]
>>727
後方互換性を考慮しているのでは?
kangax.github.io/compat-table/es6/#test-function_name_property_variables_(function)

736 名前:デフォルトの名無しさん (アウアウウー Sa37-pJ3D) mailto:sage [2017/03/21(火) 14:27:20.25 ID:XvUQo6M0a.net]
> const foo = function () {}
Edge 15 でさえ about:flags で設定しなければ使えないので、後方互換性以前の問題か

737 名前:デフォルトの名無しさん (アウアウカー Sa57-4frl) mailto:sage [2017/03/21(火) 14:33:49.62 ID:saxGm3bOa.net]
function.nameが空文字で困る場面が思い付かない



738 名前:デフォルトの名無しさん (ワッチョイ ef61-tpgq) [2017/03/21(火) 14:50:17.24 ID:SBixdYhr0.net]
node の質問なんですが async await が使えるようになるとEventEmitterが要らなくなるんですか?

739 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 16:04:16.05 ID:utcvU+/f0.net]
>>732
EventはObsevableもといasync generator functionが使えるまで要る

740 名前:デフォルトの名無しさん (ワッチョイ ef61-tpgq) [2017/03/21(火) 16:25:45.91 ID:SBixdYhr0.net]
>>733
うう難しいですね・・・
CちょっとできるようになってC++やろうとしたら挫折した時に似てます

741 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/21(火) 17:18:19.13 ID:iOlRfwaHa.net]
そもそももうthisを指定したいんでもなけりゃ関数式でfunctionって書かんしな
全部アローで書けばいい
IE?知らん

742 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/21(火) 17:34:23.19 ID:jV0Y+t/Y0.net]
>>726
cloneしてgit log -L
オプションはgit help logで確認して

743 名前:デフォルトの名無しさん (ワッチョイ bfc8-YDOq) mailto:sage [2017/03/21(火) 18:38:55.47 ID:XDBsAYay0.net]
アロー関数はぱっと見で関数と認識できない
Array#mapの引数とか必ず関数が来るところならまだしも、let f = e => {};とか書かれるとちょっと混乱する
俺が慣れてないだけかもしれないけど

744 名前:デフォルトの名無しさん (ワッチョイ efa7-tpgq) mailto:sage [2017/03/21(火) 18:56:16.04 ID:cCTalgi30.net]
よくわかるよ
俺はなるべく引数に()付けたりブロック部分を改行したり
return端折らずに関数っぽく見える程度の形にしてる

745 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/21(火) 20:16:43.13 ID:bmlZ4oTAa.net]
>>737
慣れもそうだけどアローは関数型プログラミングの流れを汲んだ記法だから、
そこら辺に慣れてないと違和感あるかもね
その関数が参照透過かつ副作用がなければアローは本当にただの矢印というか、
引数に対して何か手を加えて返すだけの数学ちっくな関数になるからアローも
しっくり来ると思う
逆に可読性のために処理をまとめて詰め込んだだけの関数ならそれはもう
関数というかプロシージャだから、アローも単にタイプ数が少なくなる程度の
意味しか持たないし違和感を覚えるのもおかしくない

746 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 20:20:20.88 ID:T5U7WLBb0.net]
>>727
つかAirbnbが馬鹿だから、の結論でいいと思うよ。
>>725の議論でいきなり7.1を変更して内容が残ってない時点でアウトでしょ。
「議論してまーす」のフリをしているだけだよね。最近こういうのも多いけど。

なおgoogleはそんなことは言ってない。強いて言えば以下。
> ブロックの中での関数宣言
> してはいけない.
>
> if (x) {
> function foo() {}
> }
> ブロック内での関数宣言は多くのスクリプトエンジンでサポートされていますが,
> これは ECMAScript で標準化されていません (ECMA-262 の 13, 14 節を参照してください).
> よって各実装や将来の ECMAScript 標準との間での一貫性がとれなくなります.
> ECMAScript での関数宣言は, スクリプトのルート部分か関数内で許可されています.
> ブロック内では関数宣言の代わりに関数式を用いてください:
>
> if (x) {
> var foo = function() {};
> }
> cou929.nu/data/google_javascript_style_guide/#id14
最後の1行の後半部分だけは一致する。海外にも文盲が増えただけの話だろ。

Nodeは余裕で関数宣言使ってる。jQueryには言及自体がない。
> https://github.com/felixge/node-style-guide#functions-1
> https://contribute.jquery.org/style-guide/js/

JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。
どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。
それでイマイチだったなら後で変更すればいいだけ。
最初から文法/スタイルに異常にこだわる奴が多すぎるのもJavaScripterの特徴だよ。

747 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 20:28:08.78 ID:T5U7WLBb0.net]
>>739
つまりアロー関数はクロージャ無し、ついでにthisの使用も禁止にすれば美しかった、ってことだろ。
俺もそう思うね。

まあこれに限らず「何でこんな仕様なの?」ってのは多いけどね。



748 名前:デフォルトの名無しさん (ワッチョイ cf75-vzQh) mailto:sage [2017/03/21(火) 20:59:01.05 ID:wMSmjxpw0.net]
>>697-722
関数式は、あくまでも式・オブジェクトだから、書いた順序に依存する。
関数を下の方に書けないから、分離度が低い

関数式は1級オブジェクトだから、他の関数に、コールバック用引数として渡すなど、
関数をオブジェクトとして使う、用途に適している

関数宣言(文)は、オブジェクトとして使わない、単なるutility関数として使う場合

749 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/21(火) 21:01:44.99 ID:jV0Y+t/Y0.net]
>>727
>>740

そっちのほうはDiscussionでリンクしてるIssueでちゃんと説明してるやん
https://github.com/airbnb/javascript/issues/794

750 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:06:36.94 ID:KGQ11aI90.net]
>>727
> ES2015からこの書き方でもnameが付くようになったでしょ?

あんたにわかりやすく理由を説明するならばこうだよ

「仕様上はnameがつくようになりましたが、これはサポートしていないブラウザが
多いという問題があります。現実的に問題があるため推奨しません」

コーディング規約というものはそもそも「罠」を回避するためにある。
あるブラウザでは動くが、他のブラウザでは動かない。
これこそ「罠」でしょ?

751 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:10:57.81 ID:KGQ11aI90.net]
>>740
> JavaScripterはこういうところで変に悩んで時間を浪費してる分、上達が遅くなっている。
JavaScrptに限らない

> どっちでもいいから自分なりに決めてガシガシ書かないと上達しない。
決めるためには深く理解しなきゃいけないだろ
自分で決めるから時間がかかるんだよ。

こういうのは有名なスタイルガイド(Airbnb等)を採用して
そのデフォルト設定でガシガシ書くのが上達の近道
理由は後から理解すればいい。まず手を動かすことが大事

自分でルールを考え込んで無駄な時間をかけないようにしろ

752 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 21:24:13.49 ID:T5U7WLBb0.net]
>>743
いや、無いよな?
確認だが、以下の理由と、そのコード例が知りたいんだよな?
(少なくとも、俺が言っているのは以下件についてだ)

> 変更前:
> Use function declarations instead of function expressions.
> Why? Function declarations are named, so they're easier to identify in call stacks.
> 変更後:
> Use named function expressions instead of function declarations.
> Why? Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it
> https://github.com/auth0/javascript/commit/3bce8154a02e44dade7a9da95a188966b0a1d523

見た目、不整合があるから整合させましたー、と見える。それはいい。
ただそのついでにこの変更はなしだろ、と思う。

753 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 21:35:13.01 ID:KGQ11aI90.net]
>>746
そのコミットは、 Fixes #1008. に対する修正だけど?

754 名前:デフォルトの名無しさん (ワッチョイ f3c8-tpgq) mailto:sage [2017/03/21(火) 21:48:52.92 ID:T5U7WLBb0.net]
>>745
全般的には同意だが、細かい点は以下。

> こういうのは有名なスタイルガイド(Airbnb等)を採用して
いや常識的にはgoogleだろ。

google: 関数宣言?問題ないよ。
Node: 関数宣言?問題ないよ。
jQuery: …
Airbnb:関数宣言は駄目。全部関数式にしろ。

誰を信じるかだが、google は巨人だろ。
おそらく世界最高レベルのJavaScriptエンジニアを多数揃えている。
Nodeの連中も同様、JavaScriptに深く関わっている。
jQueryも老舗の良店舗だろ。Nodeより信頼出来るかもしれない。

AirbnbってただのGitHub上の寄せ集めで、誰がやっているかも分からない。
そこでリーダーのリポジトリを見てみたが、バージョン管理システムとかだし。

これでAirbnbを信じるという選択になるのはアホだろ。
まあそれでも選択するのは個人の自由だが。
俺だったらgoogleを読んで、
おや?っと思う点だけは他も確認して、というアプローチにするけど。

そもそも、それ以前に、俺は偶には閲覧中のサイトのコードも覗くようにしてるけど、
全面関数式のコードには遭遇したことがないし。

> JavaScrptに限らない
他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。
だからいちいち迷うことはないんだ。
迷うのはその上の段階の「データ構造」「制御構造」「オブジェクト指向」であり、
これは迷う価値があるから迷えばいいんだよ。

755 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:01:42.18 ID:KGQ11aI90.net]
>>740
等って書いたろ。どれでもいいんだよ。
そんなのにこだわってるから無駄な時間が過ぎていく

756 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:04:36.39 ID:KGQ11aI90.net]
なんでどーでもいいことなのに、
Airbnbの考察とかしてるんだろうか。

「Airbnbは人気があるものの一つ」で
選択肢として扱うのに十分なんだが。


といったら、あーだこーだ
Airbnbの考察を語るんだろうなw
時間の無駄。

757 名前:デフォルトの名無しさん (ワッチョイ 538c-u6wT) mailto:sage [2017/03/21(火) 22:05:09.76 ID:KGQ11aI90.net]
> 他言語はこの手の「同じ事が出来る書き方」が何種類も用意されてないんだよ。

用意されている



758 名前:デフォルトの名無しさん (ワッチョイ 83f5-JN/B) mailto:sage [2017/03/21(火) 22:48:54.14 ID:EYWrpp4i0.net]
>>739
Fontを変えれば結構目立つようにできるよ。
FiraCodeとか

759 名前:デフォルトの名無しさん (ワッチョイ 5370-RygQ) mailto:sage [2017/03/21(火) 22:50:00.78 ID:utcvU+/f0.net]
>>734
難しくないよ

function
は同期的に一度しか値を返せないのに対して
generator function
は同期的に何度も値を返せる

なら非同期に一度しか値を返せない
async function <-> promise
に対して非同期に何度も値を返せる
async generator function <-> observable
が考えられるでしょってこと

promiseがthenで繋げるように
observableもforEachとかいろんなメソッドで繋いで使う

760 名前:デフォルトの名無しさん (ワッチョイ 436e-tpgq) mailto:sage [2017/03/22(水) 23:08:09.38 ID:CHjgGlMW0.net]
入力値のチェックロジックとかってjs側でも制御入れて、サーバー側でも制御したほうがいいんでしょうか?

761 名前:デフォルトの名無しさん (ワッチョイ bf3c-y/cv) mailto:sage [2017/03/22(水) 23:14:17.83 ID:vhfzvoEm0.net]
JS OFFでも困らない程度には

762 名前:デフォルトの名無しさん (ワッチョイ bfc8-YDOq) mailto:sage [2017/03/22(水) 23:15:01.33 ID:l60EFEPW0.net]
サーバー側のチェックは必須
js側でのチェックは任意だが、あれば便利(UIの向上、サーバー負荷の軽減)

763 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 02:37:56.05 ID:MXxg54fBF.net]
>>754
場合によるが、両方にチェックは必要でも、同じチェックをする必要はない。
クライアント側では意味的なチェック、サーバー側では量的なチェック、のように分けてすると良い。

764 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 02:41:02.62 ID:M7xdd4U/M.net]
>>757
おいおい、分けちゃだめだろ
ザーバー側はクライアント側を含むチェックしないと

765 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 03:26:49.22 ID:mxf1LURC0.net]
>>756 Good

>>757 Bad (意味的チェック量的チェックの意味がわからない 内容によっては同じチェックが必要)

>>758 Bad (クライアント側を含む必要は必ずしもない)

766 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 03:33:52.14 ID:M7xdd4U/M.net]
>>759
クライアント側を含まない一般的な例を挙げてもらえるかな?ん?

767 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 03:57:17.62 ID:mxf1LURC0.net]
例えば
パスワード設定時に2度入力してもらったパスワードが同じかどうかを確認する場合
参照系処理で入力値のチェックディジットを確認する場合



768 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/23(木) 04:20:42.76 ID:M7xdd4U/M.net]
>>761
なんだただの屁理屈か

チェックを分けるという757に対し、クライアントチェックとザーバーチェックの一般的包含関係を指摘した758を "BAD" と言う位だから面白い話でも聞けるとおもったんだが残念

769 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 06:24:22.37 ID:MXxg54fBF.net]
>>758
その必要はない
例えば電話番号を入力するフォームがあったとして、
0-00-000をクライアントサイドで弾くのはユーザー補助として正しい。
でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。
なぜならそもそもユーザーが他所様の電話番号を使っても分からないからだ。
だから何らかのハックでJSのバリデーションを抜けてくるもののうち、そんな所に着目しても仕方がない。それは実際には何の安全も得られない蛇足。
そうではなく、できるだけシンプルに絶対に防がねばならない所に集中して、そこで抜けが無いようにすべきなのだよ。

770 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/23(木) 06:57:22.16 ID:52peJ7Lk0.net]
クライアントサイドとサーバサイドが対等なアプリ同士のつもりで設計したなら
それぞれがそれぞれの目的に会ったチェックをするのは自然だろうよ

しかし実際はサーバありきでその補助としてクライアントを作る方が一般的だから
正しいか正しくないかというよりその場合不自然になるだろうよ

771 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/23(木) 12:59:49.72 ID:1Qddb7ZOH.net]
>>763
> でもこれを(量の問題を抜きにすると)サーバーサイドで弾く必要はない。
あるでしょ。

> だから何らかのハックでJSのバリデーションを抜けてくるもののうち
別にハックじゃなくても普通に別経路でリクエストを受け付ける場合もあるし、アタックを受ける場合もある。

> 絶対に防がねばならない所
それには、普通クライアントサイドで行うような形式的なバリデーションも含む。
例えば、形式的にvalidな電話番号かどうかとか、email addressかどうかとか。

772 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 17:59:22.63 ID:mxf1LURC0.net]
>>762 Too Bad!! 反証が示されても自分を正当化しようとする一番情けないタイプ

>>763 Good 説明はわかりにくいが基本は理解してる風

>>764 OK  補助としてクライアントを作るのが一般的と言える時代ではない

>>765 Bad チェックの種類・目的をよく理解できてない

773 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/23(木) 18:01:04.57 ID:y1JVgYTX0.net]
こいつ頭悪いんだろうなぁ。。。

774 名前:デフォルトの名無しさん (ササクッテロリ Spd3-1VOV) mailto:sage [2017/03/23(木) 20:14:00.33 ID:jk0vnrUUp.net]
クライアントサイドのバリデーションなんか回避するのは簡単
よって渡される入力の正しさを保証するためにクライアントサイドのバリデーションを使ってはならない
せいぜい誤入力を事前検知して無駄な通信を減らしユーザビリティを向上させるぐらいのものだ

サーバサイドでの入力チェックはサーバサイドでの処理の要件に合わせて行われるべきで、クライアントサイドを気にする必要は全くない
鯖蔵両方で同じチェックを行うことを忌避する理由はないし、蔵でチェックした物全てを鯖で再検証しなければならない理由もない

この2者は目的が違うため個別に考えるべき物なのに、関連するものの様に扱うから混乱するんだろ

775 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/23(木) 21:06:04.79 ID:g5+n7phXF.net]
>>768
だよな。
こんな簡単な事がどうして理解できない奴が居るのかね?

776 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/23(木) 23:03:37.05 ID:mxf1LURC0.net]
例えば1000~5000の間の値を取るIDがあってそれを入力として受け取る検索画面があったとする
クライアント側では以下のようなチェックを実施

必須チェック:入力されてるかどうか
長さチェック:4桁かどうか
形式チェック:数字かどうか(このケースは型チェックと呼ぶ場合も)
範囲チェック:1000〜5000の間かどうか

サーバー側でも同じチェックをする場合もあるが
範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある
参照系の場合は論理チェックなんかもクライアント側のみで実施するケースがよくある(更新系の場合は別)

>>756>>768が書いてるようにクライアント側チェックは基本的にUX向上のためで
データの妥当性や整合性を保証するためのものじゃない

777 名前:デフォルトの名無しさん (オッペケ Srd3-GcFy) mailto:sage [2017/03/24(金) 00:19:03.16 ID:q+ZUh23Rr.net]
>>770
ほんとこれ



778 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/24(金) 00:26:15.54 ID:kUuIMYYH0.net]
いやサーバーでもデータベースに問い合わせる前に範囲チェックするだろ

779 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/24(金) 03:14:23.52 ID:rALN4Wgi0.net]
>>770
頭堅すぎ

780 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/24(金) 09:07:59.43 ID:ABrn3clB0.net]
>>772
それはDB側のAPIの問題だと思うが
DBなんて何時例外吐くか分からんのだし、参照時は何でもDBの例外として扱えば問題ないでしょ

781 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 11:14:10.55 ID:ocF0oGY1H.net]
>>770
> サーバー側でも同じチェックをする場合もあるが
> 範囲外の値が入力されても結果が見つからないだけなので範囲チェックはやらない場合がよくある
脆弱性の温床ですな。
サーバが受け取るデータは全てチェックしなければならない(MUST)。

UXを無視すれば、サーバ側で全てのチェックを行いクライアント側では一切しないという選択もなくはない。

782 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 11:23:49.40 ID:ocF0oGY1H.net]
>>770
あ、サーバ側では上の3つはやるが範囲チェックのみしない場合があるということか。

それなら同意。

783 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/24(金) 12:52:17.72 ID:BP9qUPyxF.net]
>>776
簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ
つまりサーバのチェックは引っかかったら処理を全て破棄してログに記録することだけやる
一方ユーザーにおかしいですよとやり直しさせるような事に絞ってクライアントでチェックするということでしょ

784 名前:デフォルトの名無しさん (ワッチョイ dfa1-tY0+) mailto:sage [2017/03/24(金) 15:22:53.73 ID:pB18Cl9S0.net]
ボタンでフルスクリーンモードの変更をしようと思ったのですが、
フルスクリーンの解除ってどうすればいいでしょう?

flag = false;
function toggle(){
flag = !flag;
if(flag == true){
if(document.body.webkitRequestFullScreen) {
document.body.onwebkitfullscreenchange = function(e) {
document.body.style.width = window.innerWidth + 'px';
document.body.style.height = window.innerHeight + 'px';
document.body.onwebkitfullscreenchange = function() {
};
};
document.body.webkitRequestFullScreen();
}

// mozilla
if(document.body.mozRequestFullScreen) {
document.body.mozRequestFullScreen();
}

document.getElementById("botan").value = "フルスクリーンオフ";
} else {
document.getElementById("botan").value = "フルスクリーンオン";
}
}

785 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/24(金) 16:20:54.61 ID:ocF0oGY1H.net]
>>777
> 簡単に言うとそれこそ脆弱性になるような物だけサーバでチェックするってことでしょ

簡単に言ってますがな。
> サーバが受け取るデータは全てチェックしなければならない(MUST)。

786 名前:デフォルトの名無しさん (ササクッテロリ Spd3-1VOV) mailto:sage [2017/03/24(金) 16:55:23.56 ID:xJa3HsICp.net]
>>778
https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Using_full_screen_mode
ベンダープレフィックスはよしなに

787 名前:デフォルトの名無しさん (ワッチョイ feef-VHv+) mailto:sage [2017/03/24(金) 18:27:41.34 ID:OKRbra2j0.net]
スマホでブラウザがバックグラウンドに回ってもjavascriptを実行し続ける方法ないでしょうか



788 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/24(金) 18:50:10.68 ID:suDsBIm10.net]
>>781
無理
バックグラウンド処理はJavaScriptと関係ないので各スマホのスレに行って

789 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/25(土) 00:52:37.97 ID:is8OgtpR0.net]
switch caseは嫌いだから
javascriptの時は配列で代用してるわ

switch (weather){
 case "快晴":
  return "f.png";
 case "晴れ":
  return "f.png";
 case "くもり":
  return "c.png";
 case "雨":
  return "r.png";

これより

Select =[
 "快晴" : f.png,
 "晴れ" : f.png,
 "くもり" : c.png,
 "雨" : r.png
]
Select(weather);

の方が見やすいやん

790 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/25(土) 00:53:00.15 ID:is8OgtpR0.net]
switchなんて所詮はif文の連続の糖衣構文だからな
javascript連想配列でデフオルト値設定する時は
if(hoge[x]===undefined)一文を付け加えるだでオケ


あと、普通はswitch case文でやりそうな

hoge = [
 "快晴" : function(){ 処理1 },
 "晴れ" : function(){ 処理2 },
 "くもり" : function(){ 処理3 },
 "雨" : function(){ 処理4 }
]

hoge[weather]();

みたいのもよくやるわ
それくらいswitch case使いたくない

791 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/25(土) 04:04:59.05 ID:Gy0JTtQc0.net]
>>783-784
あー、うん。俺にとっては当たり前なので
そんなに言うことはないなw
コードが長くなければ、ここまでまとめたコードを書くこともある。

const name = {
 "快晴": "f.png",
 "晴れ": "f.png",
 "くもり": "c.png",
 "雨": "r.png"
}[weather] || 'unknown.png";

最後の行がdefault相当の書き方な。厳密に言えば値が
falsyの場合に使えないんだけどそれが必要になることはまずない。

792 名前:デフォルトの名無しさん (ワッチョイ 9370-g1YJ) mailto:sage [2017/03/25(土) 05:31:01.91 ID:KmJBzYaF0.net]
>>779
君勘違いしてるね
どのデータをチェックするかではなくて
データに対しどういうチェックするかがずっと話されてきてるのよ
データの数=チェックの数 じゃないでしょ

793 名前:デフォルトの名無しさん (ワッチョイ 2a11-VHv+) mailto:sage [2017/03/25(土) 10:16:51.24 ID:UemXv0vo0.net]
>>783
間違えすぎてて笑う

794 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/25(土) 12:26:39.27 ID:LvHBs4Hr0.net]
>>784
そこまで毛嫌いする意味がよくわからんけど

795 名前:デフォルトの名無しさん (アウアウウー Sa3f-h7Mr) mailto:sage [2017/03/25(土) 16:15:36.45 ID:uPRT5zaYa.net]
見やすいと嫌い以前に文法上おかしくて笑える

796 名前:デフォルトの名無しさん (ワッチョイ f36e-Og2M) mailto:sage [2017/03/25(土) 16:16:26.85 ID:ITKyI3zl0.net]
配列とはいったいなんだったのか

797 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 17:01:23.73 ID:X4L1f9kG0.net]
javascript初心者です。変な質問でしたら、すみません。

ブラウザでホームページ開いて実行するユーザーサイドのjavascriptコードで、実行中の変数の内容を表示したいのですが、どうするのが良いでしょうか。

例えば、FireFixのWeb開発ツールを開いてみたのですが、今ひとつ解りません。



798 名前:デフォルトの名無しさん (ワッチョイ 4ad6-Og2M) mailto:sage [2017/03/25(土) 17:03:53.11 ID:HbZGgLUg0.net]
>>791
console.log(変数);
でいいと思う

799 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 18:51:13.28 ID:X4L1f9kG0.net]
例えば下記のコードに於いて、実行時に変数uset_mailを表示することは可能ですか?

function send_noti() {
if($('#user_mail').val()) {
var user_mail = $('#user_mail').val();
$.ajax({
url: 'send_noti.php',
type: 'post',
data: {user_mail: user_mail},
success: function(response) {
}
});
}
}

800 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/25(土) 20:53:12.20 ID:WyZVpsBF0.net]
>>793
>>792

801 名前:デフォルトの名無しさん (ワッチョイ 4ad6-Og2M) mailto:sage [2017/03/25(土) 21:22:28.87 ID:HbZGgLUg0.net]
>>793
普通にいけると思うけど…
変数の中身表示したいところで
console.log(user_mail);
ってしたら
デバッグツールのコンソールに出力されるよ

802 名前:デフォルトの名無しさん (ワッチョイ aa31-UOdH) [2017/03/25(土) 22:57:24.73 ID:X4L1f9kG0.net]
791,793です。
できました。
ありがとうございました!

803 名前:デフォルトの名無しさん (ワッチョイ 2a13-VHv+) mailto:sage [2017/03/26(日) 13:04:41.02 ID:B6TaWqnz0.net]
www.hoge.gom/home/index.php?&a=1&b=2

見たいなページにjavascriptで遷移させたいのですが
普通にlocation.pathnameに入力しても?が%3Fにエスケープされてしまい、
location.pathname = "/home/index.php"
location.search = "a=1&b=2
としてもうまく動作しません。
どうすればいいのでしょうか?

804 名前:デフォルトの名無しさん (ドコグロ MMe2-YDnS) mailto:sage [2017/03/26(日) 13:15:49.40 ID:6ED+2C9oM.net]
location.hrefに入力してみては?

805 名前:デフォルトの名無しさん (ワッチョイ 1bcd-0Bqe) mailto:sage [2017/03/26(日) 13:26:12.08 ID:nGHK8C/50.net]
>>797
pathnameはフラグメントを変更する機能無いだろ
href使いなさい

806 名前:デフォルトの名無しさん (ワッチョイ 2a13-VHv+) mailto:sage [2017/03/26(日) 13:26:59.44 ID:B6TaWqnz0.net]
>>798,799
上手くいきました。ありがとう御座いますm(_ _)m

807 名前:デフォルトの名無しさん (ワッチョイ fee2-xnBe) [2017/03/27(月) 03:16:39.88 ID:zKTOvwxl0.net]
(ここが継続スレということで誘導されました)

やりたいこと: Androidタブレットの外付けマイクで音を拾ってその音量レベルを数値化したい
PC: Win7-Pro,FirefoxかChrome
Android: ver.4.4.2, ASUS MeMO Pad 7 (ME176C)

Android 音 取得 マイク JavaScript getUserMedia
でググりましたが、やりかたのヒントも分かりません。

とりあえず、 150217-html5sound.fnobi.com/ の
「Stream API」項の「Web Audio APIが使えるか確認しつつ、contextをつくる」
をマイクを付けたPCでやったところ、一応波形は変化しましたが、console.logはエラーだらけで
音のグラフ振幅もわずかでした。

また saku-na63.hatenablog.com/entry/2014/01/16/220011
のコードをタブレットで試しましたが、スピーカーからは何も聞こえませんでした。
※そもそもタブの画面左上にマイクのマークが出なかった

とりあえず、マイクで「アッーーーー!」と言ってるときに、画面上の何かのボタンを押して
alert ( "音量は " + xxx ); とかで参照したいです。

何か手立てはありますか?



808 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/27(月) 03:50:19.90 ID:u3G31U+S0.net]
質問なんですがnode.jsで使えるes6構文はChromeでも使えると考えて良いのでしょうか?

809 名前:デフォルトの名無しさん (ワッチョイ 9370-rs77) mailto:sage [2017/03/27(月) 05:04:50.71 ID:PxWmWqFB0.net]
V8のバージョンが一緒なら基本的にそう
後はフラグの設定

810 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/27(月) 10:37:00.38 ID:u3G31U+S0.net]
>>803
なるほど! ありがとうございましたm(__)m

811 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/27(月) 11:43:02.69 ID:k65uzCD6F.net]
>>801
Webは常に変化している
そういうHTML5時代の枯れたAPIでも、できれば4ヶ月(3つブラウザバージョンが進む)以内、最悪でも8ヶ月(5つブラウザバージョンが進む)以内の情報に頼ること。

812 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/27(月) 11:49:50.85 ID:LarKYmAi0.net]
つまりHTML5は互換性がない

813 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/27(月) 12:32:49.34 ID:XA28lmPGM.net]
>>801
諦めろ
音声が拾えてもそれをバイナリレベルで解析するプログラム書けない限り無理
作れないならそういう便利なAPIが登場するまで待つしかない

814 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/27(月) 13:12:47.32 ID:6PFfEo7ya.net]
そもそもスマホブラウザってマイク入力出来たっけ

815 名前:デフォルトの名無しさん (エムゾネ FF4a-rk0g) mailto:sage [2017/03/27(月) 13:25:31.65 ID:k65uzCD6F.net]
できるよ、多分https限定的だろうけど
つうかバイナリ解析とか大げさな
音量と周波数がabで取れるからそれ見ればいいだけ

816 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/27(月) 13:37:27.00 ID:6PFfEo7ya.net]
ああ、暗号化必須の縛りがあるのか
通りで俺の環境で動かんわけだ

>>801
最新のブラウザでgetUserMediaを使うにはSSL導入してhttpsにする必要があるんだぜ(ドヤァ

817 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/27(月) 13:49:48.81 ID:XA28lmPGM.net]
>>810
localhostなら回避できるはずじゃ?



818 名前:デフォルトの名無しさん (ワッチョイ 7bd4-O03j) mailto:sage [2017/03/27(月) 14:50:47.43 ID:eaJfSyiy0.net]
>>783-785
こんなやつが同じプロジェクトにいたら困るわやめろや

819 名前:デフォルトの名無しさん (ワッチョイ 938c-5sBS) mailto:sage [2017/03/27(月) 14:58:13.15 ID:LarKYmAi0.net]
>>812
どうした? 言い返さないのか?w

820 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/27(月) 19:16:02.99 ID:zKTOvwxl0.net]
皆さんどうも。
>>809 音量と周波数がabで取れるから

abって何ですか?

821 名前:デフォルトの名無しさん (ワッチョイ fe75-i4+Q) [2017/03/27(月) 23:32:45.29 ID:cGqqXL2J0.net]
>>801
JavaScriptから、スマホ・タブレットのネイティブ機能を使うのなら、

Monaca から、Cordova/PhoneGap の機能を使って、アクセスする

822 名前:デフォルトの名無しさん (アウアウウー Sa3f-h7Mr) mailto:sage [2017/03/28(火) 00:06:12.68 ID:RtCyVUYLa.net]
好き嫌いの話じゃなくて、if文(switch文含む)やfor文はできるだけ避けて配列の
ようなまとまりを使って遅延評価
するのは関数型の流れを汲むJSとしてはある意味当然でしょう

823 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 00:21:46.80 ID:x/Tih9w50.net]
意識高い系ってさ、
意識高いだけで「中身がない」から嫌われてると分かってるか?
意識も高くて中身もあれば、「すごい人」になるんだよ。

とりあえずお前は遅延評価の定義を確認しろ。
そしてWeb系の連中はWeb板でやってくれねーかな?

824 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 00:25:49.52 ID:idISHk3E0.net]
JavaScriptでWebが関係しない分野って何だろ

825 名前:デフォルトの名無しさん (ワッチョイ 938c-TFxs) mailto:sage [2017/03/28(火) 00:51:57.88 ID:xO0UHaSB0.net]
>>818
クライアントアプリじゃね?
例えばテキストエディタのatomとか
あれはElectronを使って作られている

少しでもネットにアクセスするとウェブ系というのなら
JavaScriptにかぎらずほとんどのアプリがウェブ系になるし
ゲーム系や業務系もウェブ系になってしまうから
そういうことじゃないよね?

826 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 00:56:55.22 ID:idISHk3E0.net]
>>819
ElectronなんてHTML5とCSS3とJavaScriptで、まんまWeb系の技術だと思うんだよな
マジでわからんね

827 名前:デフォルトの名無しさん (ワッチョイ 938c-TFxs) mailto:sage [2017/03/28(火) 01:06:49.15 ID:xO0UHaSB0.net]
>>820
じゃあサーバーサイドJavaScriptは
ウェブ系の技術じゃないよね
HTML5もCSS3も使わない



828 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 01:08:26.59 ID:idISHk3E0.net]
なるほど

829 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:50:18.53 ID:x/Tih9w50.net]
>>818-819
あーいや、まともな連中がうんざりしてこっちに移住するのは当然だと思うが、
現実的におかしな奴も結局こっちに混ざっちゃうわけでね。>>783とか>>816とか。

ここは「自分が書く時にどうすればいいか」を質問する場所であって、
「他人にこう書け」と布教する場所じゃない。
実際、783も816もそれぞれ得失あって使い分けるものだから、
「何言ってんだ

830 名前:アの馬鹿は」でしかないだろ。

それでも、そういう話がしたい奴用に、JavaScript雑談スレがあっても良いんだよ。
実際Web板のはそれに近かっただろ。
そして彼等で回答出来る範囲なら、彼等に任せていいんだよ。
そこで喧々諤々議論をするのも悪いことではない。

間違いが含まれても、それは仕方ないし、仕様だし、どうせそれ以上の物も提供出来ないんだ。
ここは匿名だから、回答者のスキルを区別する方法が無い。(回答者にポイントが付いていない)
だから質問者は、どの回答が正しいのか分からない。
俺たちが出来るのは、正解が含まれるように努めるだけ。
現実的にスキルの差は発生し、どの界隈でも上級者は中級者より少ない。
結果的に、中級者が十分答えられる簡単な質問なら多数決でいいが、
上級者しか答えられない難しい質問の場合は少数意見がベストの時もあるわけでね。
初級質問者は自分の質問のレベルなんて分かってないし、区別出来ないんだ。
[]
[ここ壊れてます]

831 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:51:02.73 ID:x/Tih9w50.net]
この状態で、出来るだけ上手くスレを運営する方法の一つは、「速度で分ける」事なんだよ。
簡単な質問はみんな回答出来るし、実際チャキチャキ回答が来た方がいいだろ。
難しい質問はそもそも早い回答が必要ないことが多いんだよ。
話したい奴は速い方に集うし、レベル低すぎてつまんねーって奴は遅いほうに流れてくる。
結果的に回答者も上手く棲み分け出来るんだよ。

だからWeb板の質問スレ、お前らにとっては不要だという結論でこちらに統合されたようだが、
それでも上記の通り「棲み分けスレ」としては機能してたんだよ。
そしてそれをここと混ぜるのは、お前らにとっても得策ではないんだよ。
だって、選択肢が減ってしまうだろ。
遅いスレには俺みたいな奴も住んでいて、無駄に衝突してしまうんだから。

つーかね、お前らは一体どんなスレが欲しくて、何がしたいのかをちゃんと考えろ。
そして、どういうレスをすればそうなっていくかを考えてレスしないといけないんだよ。

上記の通り、「表面的な棲み分け」が完了すると、
次のステップは、「住人の棲み分けの加速」なんだよ。
だから俺は遅いスレで馬鹿な回答をした奴には「死ね」とレスを付けていく。
そもそも正答率を高める為には、「自信が無いのなら回答しない」のが鉄則なのだけど、
構ってちゃん、構ってあげたいちゃん、キャピキャピしたいちゃんはそうじゃないから。
でもね、いくら死ね死ね言っても、彼等が出て行ってくれないとどうにもならないんだよ。
このときに、彼等にとってより魅力的なスレが必要で、
それは「速いスレ」であり、技術的には高くなくていいんだよ。つまり、Web板のスレがそうだった。
お前らの見方は、「Web板では機能しなかった。技術板では機能しているのでそこに統合」かもしれんが、
実際は、混ぜたらこっちもおかしくなるんだよ。その兆候は出てるだろ。
対立していたわけではなくて、実際は表裏一体なんだよ。

832 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 02:51:35.69 ID:x/Tih9w50.net]
というのをちゃんと理解してだな、それでどうしたいのかちゃんと作戦を考えろ。
俺は何度もこれを言ってきてるわけだが。
色々やること自体は良いことなんだが、結果的にスレッドクラッシャーになってる。
それでお前ら自身も確実に損をしている。

Web板見たところ、そんなに酷いとも思えないが、回答者ではなく質問者が酷かったのかな?
いずれにしても、お前らの判断でID/ワッチョイが必要だというのならそれは尊重されるべきだ。
が、単純にここに混ざったら共倒れになるだけなのはちゃんと理解しろ。マジで。

見た目多分お前らが欲しいのは、ID/ワッチョイ付きで、俺みたいな面倒な奴がいないスレだろ。
だったらおそらく、
・JavaScript質問雑談スレ(高速、初級〜中級の質問、例:○○のやり方が分からない)
・JavaScript技術質問スレ(低速、中級〜上級の質問、例:○○はどう実装すべきか)
という感じで棲み分けした方がいい気はする。
主張したい奴は雑談スレ側で存分にやれ。JavaScript談義もどうぞご自由に。
アホな主張を技術スレでやる奴は死ね。
質問者は好きな方を選べ。
てなところじゃないか?

まあ丁度800+だし、お前らは上記のことを理解した上でどうしたいか話し合えよ。
今は「複数の」機能しているスレが存在することが重要なんだよ。
一つに纏められる状態じゃない。
その上で、落ちない程度、死なない程度に棲み分け出来れば、
駄目な方を地道に改善していけば、最終的に両方とも交互に改善されていくだろ。
C#がその方法を採ってる。(相談室とふらっと)

833 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 02:57:25.06 ID:8XEqMjkn0.net]
みんなの心の声


「うっっざー」

834 名前:デフォルトの名無しさん (ワッチョイ 26a7-VHv+) mailto:sage [2017/03/28(火) 03:05:24.63 ID:1m8Q31SZ0.net]
ここ数年で紆余曲折してこの質問スレとその他大量の隔離スレに至ってるんだから
もう掻き回さなくていいよ

835 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:07:52.18 ID:x/Tih9w50.net]
>>826
背乗り朝鮮人死ね

というかWeb板から来た奴には俺をウザイと言う権利はないんだよ。
俺はずっとここにいたし、Web板には行ってないんだから。
その上でWeb板が諦められた理由はおそらく質問者側の問題だろう。
回答者は割とまともだし、今でもWeb板のID無しスレでしか質問しないキチガイも多いし。

多分826みたいな、
無駄に煽って回答を得ようとするキチガイが多くてうんざりしたのだろうとは思う。
とはいえキチガイもここでは排除する方法がない。それも含めて考えろ。

836 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:09:35.99 ID:x/Tih9w50.net]
>>827
「1つ」になるとマズいんだ。
今は機能しているスレが「2つ」ないといけない。
他があれば良いんだけど、この様子だと、多分無いからこの状態になってる。

837 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:20:03.81 ID:8XEqMjkn0.net]
本当に、うざいなぁw

俺がうざいということを止めることなんか出来やしないのに
言う権利がないとか言って、何の意味があんの?w

何度でも言えちゃうよ?
うざいうざい



838 名前:デフォルトの名無しさん (ワッチョイ 2f67-gQ4j) mailto:sage [2017/03/28(火) 03:27:29.29 ID:idISHk3E0.net]
闇を見た
怖いし帰る

839 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 03:35:15.77 ID:x/Tih9w50.net]
見て分かるとおり、この手のキチガイは基本的に構ってちゃんだから、
死んでもらう為にはスレが「遅い」必要がある。
逆に言えば、彼等にとって魅力的な「速い」別スレが必要だということ。

Web板を諦めてこのスレに来るのは自由だけど、それはつまり、
技術板スレ>Web板スレ と判断したことになる。
だけど、Web板スレの方が人数(レス数)は多いんだから、
全員がここに一度に来ると、結果的にこのスレを乗っ取ってしまう。
それは、Web板スレよりもマシだったこのスレを破棄することになる。

JavaScriptのスレがダントツで糞なのは、この、
「良い方のスレを壊して悪い方に統合する」を繰り返しているから。
やってることが逆なんだよ。
お前らは本当に若すぎる。
だけど、俺が何を言っているかを理解して、もうちょっと賢くならないといけない。

840 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/28(火) 03:39:12.42 ID:5RUVNWwS0.net]
分けたかったら分ければいいよ
長文すぎんよ

841 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:39:39.72 ID:8XEqMjkn0.net]
> 長文すぎんよ
かまってほしいんだろ?

842 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 03:40:56.25 ID:8XEqMjkn0.net]
っていうかさ、スレと関係ない長文を書いて
スレと関係ある話を流すことが
スレを壊すことだって理解してないのか?

843 名前:デフォルトの名無しさん (ワッチョイ a672-sIi0) mailto:sage [2017/03/28(火) 04:00:31.42 ID:88QQOgd10.net]
こいつが向こうから来た長文やろうじゃねーかw

844 名前:デフォルトの名無しさん (ワッチョイ 6fce-qnvg) [2017/03/28(火) 04:55:21.43 ID:1e56qEba0.net]
スレを間違えたのかもしれないのでこちらにも投稿します。
どちらかで回答が得られば結構です。
win7ie11,鯖缶なし(外部ファイル一切使用しない。)

はじめまして、初心者ですみませんが
二次元配列と連想配列で混乱していてうまく作れずに悩んでいます。
どなたかご教授下さいませ。えっと、とりあえず
文字列と色値をペアで格納して色値をソートや計算できて、
結果を文字列でリターンしたいです。

845 名前:837 (ワッチョイ 6fce-qnvg) mailto:sage [2017/03/28(火) 05:07:25.51 ID:1e56qEba0.net]
恥ずかしいプログラムですが
rio2016.2ch.net/test/read.cgi/future/1476229483/375-378
の文字列と色値をペアにしたいです。

846 名前:837-838 (ワッチョイ 6fce-ZYFz) mailto:sage [2017/03/28(火) 13:31:34.78 ID:1e56qEba0.net]
次スレで回答が得られたました。連想配列を多次元配列と思い込み、
オブジェクトとして扱う方法を理解できていませんでした。
ありがとうございました。

847 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 17:50:29.62 ID:pnMbSu0j0.net]
4/3の入社までにAngular勉強しとくように言われたけど
Angularのチュートリ始める前にgulpだのnodeだのnpmだのwebpackだの依存ライブラリがモジャモジャエラーが山盛り

わけわかんねえ
JavaScriptって簡単に書き始められるのが利点じゃなかったのか?
パッケ管理がメチャクチャでJavaその他より遙かに酷い



848 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/28(火) 17:59:50.67 ID:gIqFK2Qm0.net]
前回814に引き続き、再度、検索語句を変えて調べてみましたが、>>809さんの
「ab」の意味が分かりません。何かの頭文字ですか? 

849 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 18:11:56.60 ID:qwv7MmmJM.net]
>>840
JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ
簡単に始められる=簡単に極められるじゃないからなあ
俺はjavaも.netもphpも一通り経験したがjsの難しさは半端無いぞ
たとえばc系とかjavaならまじめに勉強すれば誰でも有る程度までは行けるが、jsはそれらよりセンスが要ると感じてる
圧倒的に難解な変わりに一番おもしろい言語だけどね
AnglurとかtypeScript使う"普通の"アプリなら覚える事は大量でもそんなにセンスは必要なくなるとおもう
これからはマジでjavascript一強時代になるから早い段階で勉強する機会がもてるのは良いことだと思う

850 名前:デフォルトの名無しさん (JP 0Hb6-aw5l) mailto:sage [2017/03/28(火) 18:17:56.03 ID:uzRike2TH.net]
あー、これは絶望するかもわからんね。

npm iしてAngualr 2のHello World!を書くところまで【改】
qiita.com/armorik83/items/ae737ab584012a0f5876

851 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 18:27:02.47 ID:qwv7MmmJM.net]
>>843
しかも枯れてないから一年足らずで別物になったりするからなぁ
MV系のフレームワーク追いかけるとほんと苦労するとおもう
覚えれば効率的なんだが覚えるコストがかなりかかるから元取るには長期で数多く作らないといけないのに数年でゴミになったりする悲しさ
JS(フロント系)はほんと茨の道だよな

852 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/28(火) 19:28:25.42 ID:IDgC7lyA0.net]
return hour => 9 && hoge <= 15

こう書いたら "hoge => 9 && hoge <= 15" が返ってきてて小一時間迷ったわ

853 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/28(火) 19:28:55.88 ID:IDgC7lyA0.net]
hoge は hour の間違い

854 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 20:39:12.68 ID:x/Tih9w50.net]
>>834-836
ゆとり死ね

855 名前:デフォルトの名無しさん (ササクッテロル Spd3-1VxM) mailto:sage [2017/03/28(火) 21:10:46.27 ID:/7emtguUp.net]
今のjavascriptは他のプログラミング言語と比較してかなりの難易度
マジで使えるフロントエンドエンジニアはかなり少ない
どこもエンジニアを囲い込んでいて人を調達しようとしても、ベテランの凄腕がいない
バックエンドなら腐る程いるがフロントがいない

856 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:14:51.30 ID:8XEqMjkn0.net]
>>843
せめてこっちを書こうか?
qiita.com/kitfactory/items/c95ca84371670b21f4ac

>>884
> しかも枯れてないから一年足らずで別物になったりするからなぁ

そう。だからangular-cliという便利なものができてる。
あっという間に別物(簡単)になった

Hello Worldまでこれだけ

npm install -g angular-cli
ng new MyApp
cd MyApp
ng serve

857 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:25:00.60 ID:8XEqMjkn0.net]
>>842
別にJavaScriptが難しいんじゃない
フレームワークの問題

今まではフレームワークがライブラリの延長になっていて
開発環境を提供していなかった。

開発環境とは具体的に言うとCLIツール。
Railsだったらrailsコマンドとか、開発用のウェブサーバーとか
テスティングフレームワークとかそういったもの

こういったCLIツールをフレームワーク"公式で" 用意すべきだが
それがなかった。(非公式は最新版に追従できない)

でもReactやAngularはフレームワーク公式でそういった開発環境
一式を用意してくれてるんで今までよりも遥かに簡単になってる。



858 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 21:41:03.44 ID:qwv7MmmJM.net]
>>850
そのレベルの開発なら簡単だろうね
凡人でも努力でなんとかなるとおもうよ

859 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 21:44:33.52 ID:8XEqMjkn0.net]
>>851
そのレベルってどういうこと?
そして、そのレベルじゃないのはどういうこと?

適当なこと言ってるようなレスは、ちゃんと説明してもらうよ。
あんたが分かっていて言ってるかどうかを判断するために

860 名前:デフォルトの名無しさん (ワッチョイ cff5-8Nj6) mailto:sage [2017/03/28(火) 21:46:37.97 ID:tuc8YiCB0.net]
chromeのwebsocket apiについて教えてください
zaifというとこのapiについて
https://corp.zaif.jp/api-docs/

ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy
上記urlに対してchromeのwebsocket apiで取得に行こうとすると

WebSocket connection to 'ws://ws.zaif.jp:8888/stream?currency_pair=btc_jpy' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

というエラーが出てしまいます。
どうすれば接続できるようになりますか?

861 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:01:36.21 ID:qwv7MmmJM.net]
>>852
842に書いてるじゃないか
高度なMVフレームワークに頼るような普通のアプリならセンスはさほど必要ないと

862 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:03:37.20 ID:qwv7MmmJM.net]
センスは要らないけど導入時の学習コストが高い
それがAnglur等のフレームワーク
railsとかと同じだよ
あれを有り難がるレベルの開発なら難しくはない
単に大変なだけ

863 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 22:24:39.90 ID:pnMbSu0j0.net]
>>849
>これだけ
「これだけ」「これだけ」、まーた「これだけ」
「これだけ」がいったいいくつあるんだよっていう

でも、ありがとう
しかしもうAngularを勉強するという目的からあまりに掛け離れて時間無駄にしたから
scriptタグ直読込でToDoアプリ作るわ
あとは業務で何とかなぁれ笑

gulpとかwebpackとかnpmとかbowerとかtask.jsonとか、もう見たくない
js界隈の奴らは頭おかしちゃうか

864 名前:デフォルトの名無しさん (ワッチョイ cff5-8Nj6) mailto:sage [2017/03/28(火) 22:29:53.10 ID:tuc8YiCB0.net]
>>856
まぁこれでいいんじゃない。
開発環境は代替有識者が整備してくれるからAngularだけに集中すればいい。

865 名前:デフォルトの名無しさん (ワッチョイ eba8-ZYFz) mailto:sage [2017/03/28(火) 22:32:05.60 ID:pnMbSu0j0.net]
npm install -g @angular/cli

はぁ またグローバルに汚物がぶち撒けられる
バージョンなんてゴチャメチャウンコのゲロ混ぜ
正気じゃねえよ

866 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/28(火) 22:36:36.34 ID:5RUVNWwS0.net]
gulpやbowerは別に必須じゃないけどnpmないと困るだろ
webpackはフレームワークや開発スタイルによる

867 名前:デフォルトの名無しさん (アウアウカー Sa1b-/JR2) mailto:sage [2017/03/28(火) 22:37:39.54 ID:qmA1HLlra.net]
エディタを非アクティブからアクティブにしたとき可変データベースが前面に飛び出てくるのは何か設定でもあるの?
地味にうざいんだけど



868 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 22:40:23.43 ID:qwv7MmmJM.net]
>>856
悪い意味で意識高い連中が多いんだよ
何か新しい技術出れば、それを使わないなんて考えられない!とばかりに他に強要したがる
そのくせやってることは最新技術を"使う"為の努力ばかりで肝心のクリエイティブ能力はいつまでたっても凡庸と
流行物に精通することが目的みたいになってるやつ結構多いと思うよ
ていうか、日本のIT業界って能力無くても平気でやっていけるからそんなんばっかじゃん
(全体のレベルが低すぎるという意味ね)

869 名前:デフォルトの名無しさん (ワッチョイ aa8c-TFxs) mailto:sage [2017/03/28(火) 22:57:45.67 ID:8XEqMjkn0.net]
だから結論は最初から決まってることだけど、
大掛かりなものが必要ないなら、
jQueryぐらいがちょうどいいんだよ

870 名前:デフォルトの名無しさん (ワントンキン MM9a-0Bqe) mailto:sage [2017/03/28(火) 23:06:18.47 ID:qwv7MmmJM.net]
>>862
おれはそっち派だね
オンラインゲーム作りだからjqueryの他に、socketio、createjs、threejsとかは使うけどそれらはフレームワークじゃなくてライブラリーなわけだ
フレームワークは専用の物を自分でつくるしAnglurとかのフレームワークは極力つかわない派

871 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 23:44:07.89 ID:x/Tih9w50.net]
>>833
イナゴ行為をするな。他スレ立てろ。

で通じるほどの知能はこいつらにはないんだよ。だからこんな事を繰り返してる。
相手が馬鹿であるからこそ長文の説明を必要とするが、
馬鹿であるから故に長文を読めずに意味が分からないという、無限ループだね。

ただそれでも、長文を落とすことには意味があるのさ。
事実として、他の死んでたスレに移動して地ならしし始めた奴もいるだろ。
死ね死ねいうのも長文を落としまくるのも、焦土作戦としては機能するんだよ。
俺はそこら辺まで計算してレスしてる。
(ワッチョイ付だと困る奴が既存IDスレを再利用し始めるのは自然。それならそれでいい)

そもそもこの程度の長文に苦労する奴なんて向いてないのさ。
MDNでもMSDNでも、或いは他技術文書でも、もっともっと長い。
つまり

ゆとり、ダメ、絶対

なんだよ。
だから「おっさんスレ」と「ゆとり+学生スレ」に分けるのも一つの手なのさ。
そしてお互いが良くなるように競争すべきで、
過疎って落ちるのならそれは淘汰されたと受け止めるべきでね。

ゆとりみたいにイナゴ行為で良スレを順に潰しているようじゃダメなんだ。
もっとも奴らはそれをイナゴ行為だとすら認識出来てないからこそのゆとりなんだが。
ということで俺の言いたいことは以下。

Web板のスレは機能していたのだから、移住するならここではなく別スレに行け。
平和に棲み分けしたいのなら、「JavaScriptの質問スレッド(初心者用)」とかにしとけ。
Web板そのままの雰囲気でIDとワッチョイだけ付けたいのなら、それで別スレを立てろ。
ただしそれ以前にお前ら同士で話し合え。

872 名前:デフォルトの名無しさん (ワッチョイ 1bc8-VHv+) mailto:sage [2017/03/28(火) 23:55:03.96 ID:x/Tih9w50.net]
先に言っておくが、950行っても特に纏まらないようなら、
俺はこのスレと何も変えずに次スレ立てるぞ。

その上でさらにイナゴするのを俺は止めようがないけども、
それは誰にとっても利益がないことを理解して、自粛してくれないかな。
お前らが韓国人みたいなゴミでないのならね。

良くも悪くも日本はそういうシステムで、
日本人ならそれはやらないよね、という前提で回ってる。
だからモラルが欠如した相手に対して防御する手段は一般的に用意されていない。
それはここ2chでもね。

海外の掲示板はこれに対して、基本的にBANを行っている。
だからゆとりがここで暴れると、2chでもBANが必要になってきてしまう。
或いはBANが為される「荒れない」掲示板にみんなが移住することになる。
それはあるべき未来ではないだろ。

873 名前:デフォルトの名無しさん (ワイエディ MMe2-/8X1) [2017/03/29(水) 00:53:34.80 ID:NT0rIhS8M.net]
pixivの埋め込みをレスポンシブ対応させる方法誰か教えてください。どうやらembed.jsで埋め込んでるっぽいんだけど、iflameじゃないからbootstrapでレスポンシブできない…。

874 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/29(水) 00:58:36.92 ID:ZwfTQ2HH0.net]
スレチ

875 名前:デフォルトの名無しさん (ワッチョイ 9370-bLop) mailto:sage [2017/03/29(水) 10:21:22.70 ID:2ON16iHC0.net]
>>841
ArrayBufferだろう
別のコンテキストだとAudioBufferのこともある

876 名前:801 (ワッチョイ fee2-xnBe) mailto:sage [2017/03/29(水) 15:31:09.35 ID:oaaDgYp+0.net]
>>868
有難うございます。 2つの語句で再度調べてみます。

877 名前:デフォルトの名無しさん (ワッチョイ 9370-bLop) mailto:sage [2017/03/29(水) 19:04:59.56 ID:2ON16iHC0.net]
つうか何でAnalyserNodeの存在に思い至らないの?
少しはAPI調べてる???



878 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 00:42:08.74 ID:E08Q6Oy40.net]
>>842含むID:qwv7MmmJM
C#のスレで見かけた気がするが。Haskellもやってる奴だよな?
内容は8割同意。

> JS自体が今この世にあるメジャー言語の中で群を抜いて難しいとおもうよ
> 簡単に始められる=簡単に極められるじゃないからなあ
このスレの連中が「JSは難しい」と主張しているのはこの意味ではなく、
> 悪い意味で意識高い連中が多いんだよ (>>861)
こちらで、「難しい言語出来る俺カッケー」と思いたいだけだ。

「極める」という意味ならそれは「プログラミングを」であり、言語には依存しない。
しかし、JavaScriptは文法が極めて簡単な分、
学習開始から「極める」フェーズに到達するのが極めて速い。
このため、「次のステップ」を常に求めるタイプには「難しい」と見えるのも納得出来る。
だからセンスがある奴がこれで学べば上達速度は爆発的に速いはず。
上級者のソースも見放題だし。
しかし現実はヌーディストビーチ状態なのが災いして、
初心者のくせにソースを美しくする事にこだわりすぎている。
とにかく書くことが重要なそのフェーズで手を止めてしまった結果、
馬鹿が量産されてしまっている。それがこのスレだ。また、
> そのレベルの開発なら簡単だろうね (>>851)
これが多く、大半の状況でセンスや技量を必要としないことも大きい。

> 流行物に精通することが目的みたいになってるやつ結構多いと思うよ (>>861)
ネットだけの観測なら、これはものすごく感じる。他言語と比べても顕著だ。

879 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 00:44:13.22 ID:E08Q6Oy40.net]
>>842
ところでRubyとHaskellはどう思う?
俺は両方ともやってない。
Rubyは便利っぽいが、便利なだけっぽいからいいやって感じになってる。
Haskellは入門サイトからして意識高すぎて付いていけない。
それで具体的に便利そうな「遅延評価」だけ確認して放置した。
他に学んでおくべき概念ってあるか?

なお完全にスレチなので回答は以下スレでもいい。
echo.2ch.net/test/read.cgi/tech/1449440793/
JavaScriptを使える「プログラミング」上級者が現れなかったので開店休業状態になってる。
君にはその臭いを感じる。

880 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 02:22:38.23 ID:AhVejwmhF.net]
JSの難しさは普通だと思うよ
型変換、スコープチェーン、プロトタイプチェーン、クラスシステムさえ抑えれば怖いものないでしょ

881 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/30(木) 02:54:06.55 ID:LEwdK5Fw0.net]
メモリリーク

882 名前:デフォルトの名無しさん (ワッチョイ ef72-FZ2J) mailto:sage [2017/03/30(木) 03:33:12.46 ID:S0ykF3En0.net]
長文句点キチがあちこちのスレを荒らしてるのに戦慄する

883 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/30(木) 03:36:46.25 ID:XlZmlnHpa.net]
Webサイト程度なら小規模にまとまるから簡単なように思えるが、
300kbくらいのライブラリ組むと何この糞言語ってなる不思議

884 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 06:29:44.64 ID:AhVejwmhF.net]
今のJSの糞な点は、標準及び准標準ライブラリの貧弱さに尽きると思う。
でもそこが貧弱だからこそ、互換性命のWebにおいて未来がある事も事実。

885 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 08:44:45.90 ID:TqURK27Wp.net]
JSは他言語より明らかに難しい
文法とかじゃなくて、webやHTMLという仕組みがそもそもグチャグチャで、それを中心に扱うからだね
サーバサイドやってた時の方がシンプルで楽だったわ

886 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 09:22:44.95 ID:gGp/SYAm0.net]
JSでサーバーサイドやればシンプル

887 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:39:03.35 ID:BGqaQgGsM.net]
>>878
それは確かにあるね
webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、結局JSの難しさに加えてwebの難しさが加わることになる
しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい



888 名前:デフォルトの名無しさん (ワッチョイ ef61-agmj) [2017/03/30(木) 09:41:30.69 ID:2CgcUj6s0.net]
俺もvbaのセル操作は難しいと思った

889 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 09:43:56.26 ID:gGp/SYAm0.net]
> webのフロント自体が難解でそれを扱えるほぼ唯一の言語だから、

それやな。

結局のところ、webのフロント自体が難解なだけで
JavaScriptが難しいわけじゃないんだが、
他の言語ではほぼ出来ないに等しいから
JavaScriptのせいだって勘違いが起きてる。

だからDOM APIとJavaScriptは切り離して考えるべきなんだが
どうもそれが出来ない人が多いw

890 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:44:24.59 ID:BGqaQgGsM.net]
>>871
>初心者のくせにソースを美しくする事にこだわりすぎている。
とにかく書くことが重要なそのフェーズで手を止めてしまった結果、
馬鹿が量産されてしまっている。

同意だね
結局、プログラムを学校の"おべんきょう"みたいな感じでやってるやつが多いんだよ
本来は何かを作りたい表現したい、そういう衝動があってそれを実現するツールにすぎない
とにかく作らないとだめ
そうやって経験を重ねるうちに最適解や効率化、わかりやすさなんかが見えてくる昔はプログラマーイコール表現者だったんだよ
本当に好きな奴しかやってなかった
今はただの仕事になってしまってるもんなぁ
これだけインターネットやら情報に恵まれてても凄腕のプログラマーが多数沸いてこないってどう言うこと?って思う

891 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 09:57:27.44 ID:BGqaQgGsM.net]
>>872
>RubyとHaskellはどう思う?
一言で言えば、個人的には興味ない
言語は手段であってそれ自体を楽しむようなものじゃないからね
現状JSでほぼすべてまかなえる時代になってるのにあえて横道それるのは時間の無駄だとおもってる
とはいえ、nodeを動かせないレンサバ案件もあるのでphpはまだ懐刀で残してる
あとrailsやanglur系のMVフレームワークってあまりすきじゃないんだよね
使うとしてもphpのsmarty的なライブラリー感覚で使って組み込めるものだけだね

892 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 09:58:10.79 ID:7nYsYOYk0.net]
IE「やあ」

893 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:05:00.03 ID:BGqaQgGsM.net]
しかしJSはほんとうに恵まれた言語だよ
googleが牽引してネットワーク通信関連が超充実
flashが死んだ関係でas関連のグラフィックや物理演算ライブラリーがjsに多数移植されて本当に豪華な環境
言語自体はフリーダムで使いこなせれば最強の自由度
そして、昨今のアプリのweb化
JS以外の選択肢なんか無いだろとおもってしまう
エンタープライズの領域だとまだjavaや.netなんだけどそれらにもフロントとしてJSは必須だしな
なんでみんなもっと本気でやらないの?と思ってしまう

894 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 10:10:02.57 ID:7nYsYOYk0.net]
早くTypeScriptを標準化して、どうぞ

895 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:18:20.31 ID:BGqaQgGsM.net]
>>887
それね、半分賛成だけど半分反対な気分
TSの価値は分かるけど、そのせいでJS自体の自由度が下がって劣化C#みないになってしまわないか心配
しっかり浸透して枯れてくれるならまだ良いとして未だにどんどんコンパイラ仕様が変わっている今はまだ使いたくないってのが本音
要するに自転車の補助輪なんだよ
自転車普通に乗れる人間にとってはさほど価値を感じない

896 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 10:49:10.05 ID:7nYsYOYk0.net]
>>888
それは「俺はエスパーだからLintは要らん」と言ってるのと同義だよ
複数人で漕ぐ自転車なのだから補助輪は付けるだけ付けるべき

897 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 10:58:47.34 ID:BGqaQgGsM.net]
>>889
あくまで個人的な感想ね
lint的な構文チェックは歓迎だけどJSのclass構文化と型文化がデメリットもあるんじゃないかと思うだけだよ
複数人で開発するときのガイドラインという意味ではその価値は分かってるよ
コーデイング規約しかり

ただ、今折角面白くてエキサイティングなJSががんじがらめのつまらない方向に行きそうな予感もすこしあるんだよね

バックエンドやってる人間をフロントに流用したいという流れなんだろうけどね



898 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:11:43.02 ID:BGqaQgGsM.net]
MSいえば初期のasp.netのころはほんと悲惨だった
何が悲惨かというと、あれってwindowsフォームアプリの技術者をwebアプリ開発に転用しようと画策したフレームワークでしょ?
実際蓋を開けてみると、クラサバvbしかしたこと

899 名前:ェない普通の技術者、もしくは畑違いのjava技術者しか集まらず
大抵のプロジェクトは頓挫
いくらキーマンががんばってカスタムコントロールやら規約つくっても、作業員が肝心のことを何もしらなさすぎてまともなものは出来上がってこなかったよ

物事を簡単にする技術はそれを理解している者が楽をするために有るべきで、何もしらない連中でも使える技術にしてしまうと敷居がさがるだけで最終的にはほとんど実りはないのよ
組み立て工員だけでプロジェクトが無事終わるほど甘くはない
トラブルもおこるし品質上げるための工夫も必要
お仕着せフレームワークはそういうフェーズでむしろ手間が数倍に膨らむケース多いんだよ
asp.netでほんとうに懲りた
だから個人的にanglurにも懐疑的なんだよな
[]
[ここ壊れてます]

900 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:16:42.80 ID:BGqaQgGsM.net]
何がいいたいかというと、

JSのライブラリやフレームワークも大いに結構だけど、内部でどんなことが起こってるかすら分からないレベルではいつまでたっても成長できない
自分で工夫して構築するという大事な成長フェーズを捨てているようなものだからね
他の言語からJSに来る人間も同様
まずはJS独自の難解な仕様を学習して理解して、そのうえでシンタックスシュガーで楽しなさいと

901 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 11:25:56.82 ID:BGqaQgGsM.net]
世の中の風潮だと、c系やらjava系の技術者ってJSを下にみてるでしょ?
あんなものはおもちゃだという風に

でも実際は逆なんだよね
補助輪ついてる方がレベル高くて、ついてない方がレベル低いとでも思ってるのかと

言語仕様としてもJSは本当に複雑怪奇だしwebフロント系を扱う為の追加知識の量もハンパない
ぶっちゃけ、.netやjavaより遙かに勉強量必要だとおもうな
実際経験してきてほんとそう思う
JS舐めてたらダメだよ

webブラウザーで動くものを作る以上はここをさて避けては通れない
でも今更JSなんて本気でやるきが起きない
これが今の日本のweb界隈のレベルの低さの原因

なのに根本的解決をしようとせずフレームワークに逃げるんじゃいつまでたっても埒あかないよ

902 名前:デフォルトの名無しさん (JP 0H97-jsM4) mailto:sage [2017/03/30(木) 12:06:41.84 ID:MPU3+nXPH.net]
鼻息荒いけど何年前の認識だよ

903 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 12:29:18.27 ID:TqURK27Wp.net]
まぁ気持ちはわかるな
やたらとweb(笑)とか見下してくるやついて、まぁ多分組み込み系なんだろうけど、彼らにフロントエンドができるとはとても思えないんだよね
何を根拠に意味不明な優越感を抱いてるのか不思議で仕方がない

自分らには工学的基礎があるとでも言いたいんだろうか?
学歴主義者なのかな?
フロントエンドのPGも情報工学や外国語なんか普通に学んでる人多いし、学歴も組み込み系に劣ってないと思うんだがな

904 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/03/30(木) 12:35:41.54 ID:M+A/xxaCa.net]
スーパーハカーになりたいからどっちも知っときたい

905 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 12:44:12.85 ID:BGqaQgGsM.net]
>>895
フロントは基本的に臨機応変なセンスが必須なのよ
それを嫌う(脳構造が違う)人種が多くてJS嫌いな風潮があるんだとおもう
一つ一つブロックを切り出してブロック塀を積み上げていくだけが開発じゃないからねえ
たとえるならフロントは木登りができないと厳しい感じ
それをフレームワークで木の高さまで塀を作ろうとしてる人(企業)が多いんだよ
木登り得意なやつ集めて登らせて上からロープ垂ら

906 名前:キほうがよっぽどいいのに []
[ここ壊れてます]

907 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/30(木) 12:44:36.87 ID:7nYsYOYk0.net]
マロックもできんカスが喚いとるぞ



908 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/30(木) 13:39:53.83 ID:yb0xbTZQ0.net]
JSやってるとasm.js、wasmだったりコンパイル後アセンブリ見て最適化に行き着くよ
Nodeでもずっとやってればネイティブモジュールはほぼ避けられないからね

909 名前:デフォルトの名無しさん (ワッチョイ b392-AsIq) mailto:sage [2017/03/30(木) 14:22:30.96 ID:9cHNN/bR0.net]
>>897
いや、やって見て、圧倒的に楽勝だからナメプしてる

910 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/30(木) 14:44:18.97 ID:TqURK27Wp.net]
>>900
ちゃんとHTMLやcssは自分で書き起こしたか?
ある程度は仕方ないが、まさか最初から最後まで全部人に書いてもらって楽勝とか言ってないだろうな
jsしかやりません、デザインは100%ガン無視とか周りから嫌われる奴の典型だからな

911 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/30(木) 15:39:15.87 ID:BGqaQgGsM.net]
>>900
フロントといってもピンキリだしねえ
どのレベルでの話をしているのか分からないけど

912 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 20:51:24.72 ID:gGp/SYAm0.net]
>>871
>初心者のくせにソースを美しくする事にこだわりすぎている。

それは言い方の問題だなw

あんたは「美しくする」という言葉を使うことで
「美しくする」に意味はないという結論を出そうとしてる。

そこが間違い。

ソースの「開発コストを減らす」事にこだわりすぎている
と言い換えたらどう思うか?


初心者がソースの開発コストを減らす事にこだわるのは悪いことなのか答えてくれ
(もちろん優先順位を無視してまでやることではないのは当たり前)

913 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/30(木) 21:14:35.19 ID:pC1kU3TdF.net]
初心者に取ってコードを綺麗にするってのは上級者やハッカーのそれとは全然別物だと思うよ

914 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 22:48:32.56 ID:gGp/SYAm0.net]
初心者がいきなり上級者はハッカーと同じようになれるというのなら
そっちのほうが良いと思うよw

915 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/30(木) 22:54:00.98 ID:gGp/SYAm0.net]
できる能力があるかどうかは別として、
初心者がソースの開発コストを減らす事にこだわるのは良いことである
(反論はまだ出てない)

初心者にその能力がないのであれば、回りにいる上級者が教えればいいだけのこと
だから、ソースの開発コストを減らす行為を否定することにはならない。


回りにいる上級者がソースの開発コストを減らす事ができないのであれば
それは不幸なことだが、その場合は、あんた(回りにいる人)も能力がないんだ。
能力がないがソースの開発コストを減らそうとしている初心者のやる気をそいではいけない。
それは足を引っ張る行為だ。

916 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:41:20.59 ID:E08Q6Oy40.net]
>>884 含む ID:BGqaQgGsM
本日分の書き込みについても8割同意。
どうも俺と同じタイプの臭いがする。

> しかしJSはほんと面白いわ無名関数とコンテキストの奥の深さはほんとすごい (>>880)
無名関数については実はレキシカルスコープとクロージャの相性が良いのだと思う。
下側クロージャからも上側クロージャを自由に触れるが、
これはC#やC++のクロージャでは出来ない。
コンテキストってのはthis渡しのダックタイピングのことか?これも面白いのは同意。

> 言語自体はフリーダムで使いこなせれば最強の自由度 (>>886)
これはその通りで、上記以外にも他言語では無理な構造を容易に既述出来たりする。
プログラミングマニアにとっては極めて面白い言語だ。
文法も標準ライブラリもスカスカで、当初は「え?これだけ?」と思ったが、
これで十分であるのを理解すると、C++みたいにゴリゴリ書くのがばからしく思えてしまう。

> なんでみんなもっと本気でやらないの?と思ってしまう
これについては職場環境が酷すぎるからだと思う。
見りゃ分かるが求人が糞過ぎる。Webデザイナの下請けしかない。
だからjQueryでささっと弄れるだけ、或いはブラウザの互換性を知っているだけの
文系プログラマが幅を利かせているのだと思う。このスレもそんな感じでしょ。
本来のプログラミングの腕前を発揮できる仕事がない。
だから凄腕プログラマは馬鹿臭くて寄りつかないという悪循環だね。
その結果、リッチクライアントにも出来ずに糞なWebページのままってとこも多いでしょ。
典型的なのはここ2chだが。
とはいえサーバーサイドやデスクトップアプリで使われだしたのは良いこと。
プログラマの腕が発揮出来る仕事が増えれば、状況は一瞬で改善する可能性がある。
JavaScriptは仕様が軽いから、
他言語を完全に使いこなしているプログラマ上級者にとっての学習コストは恐ろしく低い。
そしてこの民族大移動は発生するというのがそちらの見方、
> これからはマジでjavascript一強時代になる (>>842)
なのだと思うが、俺はこれは無いと見ているんだがな。

917 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:43:52.47 ID:E08Q6Oy40.net]
> だから個人的にanglurにも懐疑的なんだよな (>>891)
日本のプログラミング界隈の問題は、新技術を「下側」に向けて適用すること。
つまり、新技術でこれまでより簡単に同じ事が出来るようになった結果、
・同じ人材でもっと高みを目指そう←アメリカ流
・より安い人材で同じ物を作ろう←日本流
で決定的な差が付いている。
人月単価を下げることしか目指さなかった結果、
クリエイティブさは求められず、馬鹿プログラマがのさばる、悲惨な状況となってる。

で、angularについて言うと、間違いなくゴミだ。
マメに更新されている事自体がゴミだということを証明しているのだが、
これを理解出来ない馬鹿が飛びつき、意識だけは高いから、余計におかしな事になっている。
・angularを学んで使う←最悪
・自分でやるのは面倒、誰かやってないかとググってヒット、じゃあ使うか←これが正しい



918 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/30(木) 23:48:02.70 ID:E08Q6Oy40.net]
>>893,895
Web系が馬鹿にされているのは、既に書いたとおり、
現状では「本質的なプログラミング」の腕前が必要とされない仕事ばかりだから。
実際、馬鹿プログラマでもそれなりに回るだろ。
今現在他言語やサーバでやっているような事は、
ある程度以上の規模になると、馬鹿がやったら収拾つかなくなる。
だから一定以下の馬鹿は淘汰されてる。
JavaScriptは「ページ単位で捨てられる」のが基本的な使われ方だったから、これがない。
つまり、本来のプログラミングの難しさ、
「大規模なコードを矛盾なく無駄なく簡潔に書ききる」事を要求されない。
(これは本当は革命的なことなんだが、、、)
その結果、jQuery等を使ってDOMを修飾出来るだけの馬鹿がのさばることになる。
だから今のJavaScript技術者の「プログラマ」としての平均水準が低いのは事実だよ。
それはこのスレ見てても分かるだろ。
ただこれも、今後は変わっていくとは思う。

それと共に、JavaScriptを馬鹿にする奴にもかなり問題があることは多い。
本来、プログラミングの腕前と使用言語は別の話なんだが、混同している奴が多い。
とはいえ、JavaScriptは初心者にとっては上達の障害が多すぎるのも事実。
結果的に同年卒の新人の成長を比較した場合、平均的には他言語より悪いと思うよ。
例えば、初心者が「セミコロンをどこに打つべきか」とか全く意味無いんだが、
「コードを美しくすること」が目的になっていて、この手の無駄努力をしているケースが目立つ。
(ただこれは指導者が正しい見識を持っていれば回避出来るが、
ネットを観測する限り、そもそも指導出来るレベルの奴がいなそう)

919 名前:デフォルトの名無しさん (ワッチョイ b392-AsIq) mailto:sage [2017/03/31(金) 00:14:37.42 ID:9p335Pu80.net]
>>901
ぷぷぷ HTMLとCSS W それはデザイナーの領分
フロント屋のいつもの言い訳だな
>>902
>>986に言ってやってくれ

920 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 00:38:58.01 ID:S+dmZ2B60.net]
>>986バーカ

921 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/31(金) 00:47:59.45 ID:WzS7AZAh0.net]
長文キモイ
しかも二人とも大したレベルじゃないというオチ

922 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/31(金) 01:13:39.40 ID:WLq382qYM.net]
>>907
>プログラミングマニアにとっては極めて面白い言語だ。 プログラミングマニアにとっては極めて面白い言語だ。

JSは基本的にコードが隠せない
そしてクラスでプライベートメソッドも作れない(実際は工夫て可能だがそんなもの誰も使ってない)
外部ライブラリを使ってるとき無い機能や足らないオプションを追加したくなった場合簡単にパッチを当てることが可能
メソッドが外部からオーバーライドもなんもかも自由自在だから元ソースを読んでみようという気にもなる
ほんとに良い環境だとおもうよ
がんじがらめのコンパイル言語とかにはないオープンな世界がそこにあるんだよ

923 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 01:28:38.63 ID:S+dmZ2B60.net]
オープンな世界(笑)

924 名前:デフォルトの名無しさん (ワッチョイ cf75-z7oQ) [2017/03/31(金) 01:54:46.53 ID:hT0rQPiY0.net]
Ruby にはブロックスコープがあるけど、Python, JS には無いから、
カプセル化できない・大規模開発しにくい

Googleなど、できるプログラマーの本棚には必ず、
David Flanagan の「JavaScript 第6版」(通称「サイ本」)がある。
しかも、規格が新しくなる度に、この本を買い替える

常に買い替えるということは、普遍的な本じゃないと言う事。
学問の本じゃない。
場当たり的に、バグを避けるというだけの本

この本には学問として、役に立つような事は書いていない

925 名前:デフォルトの名無しさん (ワッチョイ bf3c-Qc7F) mailto:sage [2017/03/31(金) 02:04:55.38 ID:WzS7AZAh0.net]
サイ本はリファレンス本だからな
辞書の版が上がって買いかえるのと同じこと
学問??

926 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:05:09.75 ID:dseKSPuY0.net]
ブロックスコープをいつ使うのかわからない。

Rubyでは仕方なくブロックスコープになってしまうってだけで
ブロックスコープは必要ないものだろう

927 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:05:51.45 ID:dseKSPuY0.net]
>>915
> 常に買い替えるということは、普遍的な本じゃないと言う事。

俺買い替えてないけど?



928 名前:デフォルトの名無しさん (ワントンキン MM5f-q8gt) mailto:sage [2017/03/31(金) 02:21:47.87 ID:WLq382qYM.net]
ブロックスコープとカプセル化は全く関係ないだろw
というか関数内でスコープ作りたければ無名関数、即時関数なりいろいろできる
JSは自由度が桁違いなんだけどね
これらの使いこなしも分からないレベルの人間は束縛された補助輪世界こそが正しいと言い続ける

929 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 02:34:16.81 ID:S+dmZ2B60.net]
>>918
それだけ意識が低いということだろう

930 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 02:37:42.45 ID:dseKSPuY0.net]
>>920
意識の話はしてないよ。
本の内容が普遍的かどうかって話。

買い換えると普遍的ではない
買い換えないなら普遍的

いまこういう定義をしたの

931 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 02:48:16.02 ID:S+dmZ2B60.net]
>>921
頭がes3で止まっちゃった系おじさんかな?

932 名前:デフォルトの名無しさん (ワッチョイ 1347-VHDh) mailto:sage [2017/03/31(金) 03:00:34.90 ID:52wIFoBq0.net]
ポエマーの2人、結局何が言いたかったのかわからなかったな

933 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 03:01:29.75 ID:9i/PVhMGa.net]
ネットに最先端の情報が転がっているのに、あえて古い情報しか載っていない本を買うのはお金の無駄ではないかと

934 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/03/31(金) 03:20:54.52 ID:qHVwMUTA0.net]
>>919
実はC++等で一生懸命書いている「型」や「文法」(privateとか)は、
全て「制限」する方向の努力でしかないんだよな。
それに対してJavaScriptは基本的に「制限」することが出来ないから、
結果的に何でもありになってしまうという。ソースも見放題だし。

現実的にどっちが生産性が良いかは微妙だが、
「制限」は可能性を閉ざす方向だから、面白みはない。
「何でもあり」はやっぱり面白い。

実感としては、型無しでも大して苦労しないので、
C++等でいちいち書くのが面倒になってきた。
あとはタイプミスだけソース上で検出出来ればなぁ、って感じ。

935 名前:デフォルトの名無しさん (ワッチョイ 8367-/BKC) mailto:sage [2017/03/31(金) 03:32:08.09 ID:XrX79+I10.net]
>>924
古い情報も嫌だけど、体系付けられてない大量の情報から自分で知識体系を構築していくのは骨が折れる

936 名前:デフォルトの名無しさん (ワッチョイ cf75-z7oQ) mailto:sage [2017/03/31(金) 03:45:57.85 ID:hT0rQPiY0.net]
JS を見てから、Haxe を見れば、天国だろ

Haxe, Kotlin を見れば、動的言語のどこが悪いか、すぐにわかる

937 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 09:10:22.45 ID:rJ4mWsQi0.net]
別にJSは面白さだとか、それが素晴らしいことだから、動的になったわけでもなくて、
静的言語の色々な問題点を批判するために動的になったわけでもないけどな

まず大前提として、それが何かはハッキリとは分からないが、
とにかく何かと何かの間に入るスクリプト言語としては動的であることは必然だろう

接着剤をメインに使って大きなものを形作るのは大変だというだけのこと
今のWebではJSも型付きaltJSも等しく必要



938 名前:デフォルトの名無しさん (ワッチョイ 8392-UnGZ) [2017/03/31(金) 11:17:57.92 ID:FQVbcTCx0.net]
CDNってあるじゃないですか。
あれって、CDN提供元のサーバーが落ちたりDNSが名前解決できなくなったりしたら
どうなるんですか?
昔、画像とかに「直リンク禁止!!」とかよくみかけましたけど
あんな大量に直リンクして負担は大丈夫なのですか?
多分大丈夫なのだろうけど。

939 名前:デフォルトの名無しさん (アウアウカー Sad7-19VF) mailto:sage [2017/03/31(金) 12:28:10.39 ID:KHGxa0VRa.net]
JSにはブロックスコープがないってどういうこと?

940 名前:デフォルトの名無しさん (ワッチョイ 8ff3-agmj) mailto:sage [2017/03/31(金) 12:34:57.75 ID:xItn/dk+0.net]
>>930
for( var i=0;

みたいなfor文を2回書けないってこと
varじゃなくてlet使えということになるが
letはIE11じゃないと使えないしな

941 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 12:55:21.14 ID:S+dmZ2B60.net]
>>931
説明が糞すぎてワロス
これがes3脳か

942 名前:デフォルトの名無しさん (アウアウカー Sad7-19VF) mailto:sage [2017/03/31(金) 12:56:14.65 ID:KHGxa0VRa.net]
>>931
ああvarのこと言ってるのね
どうせ今後はletに変わってくのにね

943 名前:デフォルトの名無しさん (ワッチョイ 1347-VHDh) mailto:sage [2017/03/31(金) 13:16:28.37 ID:52wIFoBq0.net]
>>929
もちろん、落ちたら読み込めなくなる
落ちなくてもユーザーのアドブロックとかに引っかかる可能性もある

どうでもいい部分をのぞいて、読み込めない場合は自鯖のファイルにフォールバックするか、コンパイル時に埋め込むのが基本

944 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/03/31(金) 13:27:14.01 ID:0K0Hhkt3F.net]
letは有名になってきたけどTDZの事も理解してない人多いよな

945 名前:デフォルトの名無しさん (ワッチョイ d368-f8Iv) mailto:sage [2017/03/31(金) 13:29:42.43 ID:NTsg82nU0.net]
letどこまで広がるかねえ
歴史遺産レベルの古いJS解説サイトが足を引っ張って、結局広まらなさそうな気もする
俺は積極的に使うつもりだけど

946 名前:デフォルトの名無しさん (ササクッテロル Sp17-59Pd) mailto:age [2017/03/31(金) 13:44:40.56 ID:J6gnUPAfp.net]
let文って超大昔のBASICかよと思った
X68000とかPC98とか小学生の頃にやってBASICでlet文使ったな
一回転して元に戻ったような気分

947 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 13:50:15.16 ID:IXWOdY7+a.net]
for(let i=0; i<10; i++)は内部の動きがよく分からん

初期化式で指定したlet iを変化式でインクリメントしてるはずなのに、何故か毎ループ違うlet iが宣言されてる



948 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 17:13:08.33 ID:rJ4mWsQi0.net]
何故かじゃなくてそういう仕様なだけなんだが
そっちの方がクロージャと合わせた時に都合がいいでしょ

949 名前:デフォルトの名無しさん (ワッチョイ d368-ouAK) mailto:sage [2017/03/31(金) 18:16:00.41 ID:NTsg82nU0.net]
感覚的には

for(let i=0; i<10; i++){コード;}

{let i=0;コード;}
{let i=1;コード;}
...
{let i=9;コード;}

って思うとちょっとは納得いくと思う。
("コード"内でiの値を変える可能性を考えるともっと複雑だけど)

950 名前:デフォルトの名無しさん (アウアウカー Sad7-LTAN) mailto:sage [2017/03/31(金) 18:42:34.41 ID:VQDku9aBa.net]
都合の問題じゃなくて、どこにも書かれていない動きをするのが困る

951 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 18:52:00.48 ID:rJ4mWsQi0.net]
具体的にそれでどう困ったんだ?

952 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 21:11:47.00 ID:dseKSPuY0.net]
>>936
> letどこまで広がるかねえ

letは広がる前に消すべき
constを使え。letなんて殆ど使わない。

953 名前:デフォルトの名無しさん (ワッチョイ d370-Qufn) mailto:sage [2017/03/31(金) 21:19:10.38 ID:rJ4mWsQi0.net]
残念ながらJSは非同期がどんどん重要になって行ってるのに対して
concurrencyが未熟だからそれはできない
それに重要なのはconstかletかでなく書き方の意識

954 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 21:24:38.14 ID:dseKSPuY0.net]
> concurrencyが未熟だからそれはできない

どういう理由で何が出来ないって?


> それに重要なのはconstかletかでなく書き方の意識

重要なのは可読性。本人に意識があったって
他人には書いてないと伝わらない。

955 名前:デフォルトの名無しさん (スププ Sddf-NVAl) mailto:sage [2017/03/31(金) 22:57:23.96 ID:jmnv802Md.net]
可読性故constは流行らない
何故なら文字数が多いので、どうしても特別な場所だけで使うとした方が自然だから
泣こうが喚こうがこの事実は曲げられない
以上

956 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/03/31(金) 23:03:25.44 ID:S+dmZ2B60.net]
2文字増えただけで「可読性故」とか大草原
ガイジかな

単語の省略形とか好きそう
それで後から読んでわからなくなってそう

957 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/03/31(金) 23:20:49.77 ID:dseKSPuY0.net]
人間は文字を一文字一文字認識しているわけじゃないんだから
constにした所で可読性に影響はないよw

「この ぶんょしう は いりぎす のケブンッリジ だがいく の 
けゅきんう の けっか にんんげは もじ を にしんき する 
とき その さしいょ と さいご の もさじえ あいてっれば 
じばんゅん は めくちちゃゃ でも ちんゃと よめる という 
けゅきんう に もづいとて わざと もじの じんばゅん を 
いかれえて あまりす」



958 名前:デフォルトの名無しさん (ワッチョイ b357-6bLq) mailto:sage [2017/04/01(土) 05:34:42.16 ID:5/77AQ200.net]
constだとインデントしにくくない?
var
let
const
でconstだけ5文字っていう

959 名前:デフォルトの名無しさん (ワッチョイ b392-/miL) mailto:sage [2017/04/01(土) 09:06:25.66 ID:PGhuuwXo0.net]
>>940
そういう理解なら
for(const i=0; i<10; i++){コード;}

{const i=0;コード;}
もありになるぞ

960 名前:940 (ドコグロ MM1f-f8Iv) mailto:sage [2017/04/01(土) 09:33:04.06 ID:+oJMyNASM.net]
>>950
939以前ではfor-letの話しかしてなかったから、for-let限定でレスしたつもりだった
確かにfor-constだとまた話は違う(というか動かない)ね

961 名前:デフォルトの名無しさん (エムゾネ FFdf-NVAl) mailto:sage [2017/04/01(土) 11:37:32.19 ID:XAMnGxj+F.net]
幾らたった2文字と言ってもな
もしletが5文字ならvarに勝てないだろうし、
そこでconstが3文字だったのなら自然とletより使われるのは多くなるのは間違いないでしょ

962 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 12:26:12.44 ID:dymFNcqGa.net]
>>952
意味は全然違うけど文字数が2文字少ないのでそっち使いますってどんな理論だよ例えletがletxxでconstがconでもそれでconstが増えたりはしないよ
書くときにスタンスとして再代入をなるべくしないと考えているかどうかと、
読むときに定義だけ読めばいいんだよと教えてあげようと思っているかどうかだ

963 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/01(土) 16:36:41.70 ID:nYzGzhmV0.net]
>>953
どんな理論って、それが普通の人間の感覚なんだよ
もっと言えば理屈じゃないの
アルゴリズムは理屈で書くが、殆どの人がコードを理屈で書いてるわけじゃないからね
言語なんだから書きやすいように自然に書いている
頻繁に使うものに関して文字数が3か5かっていうのは自然度合いに明らかな差があるんだよ
何を言おうが間違いなくそれが全constの普及を妨げている最大の理由だよ

964 名前:デフォルトの名無しさん (ワッチョイ 1367-/BKC) mailto:sage [2017/04/01(土) 16:40:33.13 ID:5slG0t9U0.net]
それあなたの感想ですよね?
なんかそういうデータあるんですか?

965 名前:デフォルトの名無しさん (ワッチョイ 2392-IDtH) mailto:sage [2017/04/01(土) 16:52:42.67 ID:W7IGfgKJ0.net]
変数の定義で使い分けるのは面倒だし、自分でその変数の使い道が分かっていれば各ブラウザで問題が起きない var に1票だな

まあ const は設定値に使う変数には分かりやすいとは思うが、let, const でエラーになるブラウザがある間はまだ var が無難かな

966 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/01(土) 16:59:48.48 ID:Xk39Ujbl0.net]
こういうガイジくんのおかげで
糞コードは永久になくならない

967 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 17:05:58.81 ID:dymFNcqGa.net]
>>956
まぁJSがWebと切ってもきれない関係である以上そこは仕方ないね
Edgeが今のIE6くらいの化石になった頃には何とかなるでしょう
その頃JSが使われてるのかは知らんが



968 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/01(土) 18:01:19.17 ID:nYzGzhmV0.net]
>>955
じゃあなに?
君はフルconstがletより流行らない理由は皆アホだからとでも思ってるの?
constが3文字でletが5文字なら、間違いなくletよりconst推す人がずっと増えるでしょ?
そう思わない?

969 名前:デフォルトの名無しさん (ワンミングク MM5f-q8gt) mailto:sage [2017/04/01(土) 18:12:47.66 ID:xu8z9jrwM.net]
どうでも良いとこになると急に饒舌になるやついるよな
荒れる原因ってこいつらだろ

970 名前:デフォルトの名無しさん (ワッチョイ bf67-/BKC) mailto:sage [2017/04/01(土) 18:12:54.06 ID:aApsaYHH0.net]
それあなたの感想ですよね?

971 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/01(土) 18:45:51.19 ID:dymFNcqGa.net]
>>959
letが5文字の場合(letxxとする)
letxx foo = 1;
foo = 2;
foo = 3;

constが3文字の場合(conとする)
con foo = 1;
con bar = 2;
con hoge = 3;

どっちが文字数少ないって?

972 名前:デフォルトの名無しさん (ワッチョイ b392-/miL) mailto:sage [2017/04/01(土) 20:01:59.47 ID:PGhuuwXo0.net]
お前メモ帳でプログラム書いてんのか?
普通コンプリーションする

973 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/01(土) 20:15:49.03 ID:DrbHkd9R0.net]
重要なのは可読性。読んだ時にどれだけ意図がわかるかどうか
書く時(タイプ数)なんてどうでもいい。
なぜなら俺はブラインドタッチができるからだ

974 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/01(土) 22:31:23.70 ID:Xk39Ujbl0.net]
>>959
こういう信じがたいほど想像の斜め下をいく発想の持ち主が
新しい機能の流行を阻むのは理解できた

975 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/01(土) 23:01:34.57 ID:9Eckjtd/0.net]
タイピング速度が遅い人ほど、タイプ数を気にする
コードが読めない人ほど、タイプ数を気にする

976 名前:デフォルトの名無しさん (ワッチョイ 03bc-+5It) mailto:sage [2017/04/01(土) 23:21:16.94 ID:oT1fsmzO0.net]
タイプってw
大半はエディターの補完機能なんだが

977 名前:デフォルトの名無しさん (ワッチョイ b392-C+VN) mailto:sage [2017/04/01(土) 23:43:53.46 ID:DstJGvws0.net]
constとletの使い分けって、そんなに熱くなるモノなのかな。

定数か変数かで区別するだけだと、問題有るのかな?



978 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 00:43:16.56 ID:n7h/bBRg0.net]
>>968
constといいう名前からして悪いんだけど、定数という名前が
数学的な定数と一緒で広い範囲で使われてる定められた数という
印象を与えてしまうんだよな。

この点はScalaのvarとvalみたいな名前のほうが良かったと思うね。

定数か変数かで区別するという考え方だと、
定められた数でなければ全部letになってしまう。

そうじゃなくて定義とともに代入して、変えてはならないという
基本原則なんだよ。区別するんじゃなくて意図的にそうなるように持っていく。

constはローカルスコープでも普通に使うもの。かつてvarやletであったものは
すべてconstに置き換えるぐらいの心構えでいくべき

979 名前:デフォルトの名無しさん (ワッチョイ 8fc8-/BKC) mailto:sage [2017/04/02(日) 00:46:42.77 ID:QJM914RD0.net]
よし、#defineをとりいれよう

980 名前:デフォルトの名無しさん (ワッチョイ d370-FuqK) mailto:sage [2017/04/02(日) 04:37:29.62 ID:AOa6ZDoH0.net]
まああれだな、newを使うなとかと同じこと。
実際はJSでは与えられたものは多く使って表現豊かに書いた方が俺は好きだけどな。
そんなに制限するなら関数型AltJSでも使った方が確実だし。

981 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 04:46:41.76 ID:n7h/bBRg0.net]
> まああれだな、newを使うなとかと同じこと。
それとはぜんぜん違うなw

classができてnewは昔以上に普通に使われるようになった。

982 名前:デフォルトの名無しさん (ワッチョイ 238c-U/Pn) mailto:sage [2017/04/02(日) 04:48:20.07 ID:n7h/bBRg0.net]
altJSは将来性がないという点で使い物にならない。
TypeScriptがMicrosoftという大きなバックがあるから
かろうじて候補になるレベル

983 名前:デフォルトの名無しさん (ワッチョイ b3a8-/Gsh) mailto:sage [2017/04/02(日) 08:40:53.12 ID:rRNjOjm50.net]
cofeeとかほんとマジモンのゴミだったな
RoRにまでねじ込みやがって、作者は首吊って死ねレベル

984 名前:デフォルトの名無しさん (ワッチョイ d370-QovO) mailto:sage [2017/04/02(日) 21:36:49.49 ID:ErqynUDU0.net]
cofeeは糞だが糞なりにES5、6の肥料として役立ったよ

985 名前:デフォルトの名無しさん (ワッチョイ 733c-3+/Q) mailto:sage [2017/04/02(日) 21:47:14.29 ID:PqHJO9yF0.net]
babelでコンパイルしたes6のjsを従来のjsから呼び出すにはどうしたらいいですか?
具体的には
export default function sample() {
console.log('sample');
}
これをbabelでコンパイルしたファイルをhtmlで読み込み、他のjsからsample()で呼び出そうとするとnot definedになります。

986 名前:デフォルトの名無しさん (ワッチョイ bf01-y2WR) [2017/04/02(日) 22:13:35.00 ID:C3VJqOAO0.net]
>>976
webpackかrollup使え

987 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/02(日) 23:11:43.46 ID:W2z98tOP0.net]
1時間ほど待って、次スレ立てます。
テンプレ変更無し、ワッチョイありです。(このスレと同じ)
何かあればよろしく。



988 名前:950 (ワッチョイ efff-U/Pn) mailto:sage [2017/04/02(日) 23:35:40.15 ID:1OFv5oH00.net]
>>950なので次スレたてました

+ JavaScript の質問用スレッド vol.123 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1491143438/

989 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/03(月) 00:44:09.44 ID:82yaJsi70.net]
設定そのままで次スレ立てました。
JavaScript の質問用スレッド vol.123
echo.2ch.net/test/read.cgi/tech/1491147085/
テンプレは「前スレ」以外は変更無しです。
荒らしがいなければ順番が入れ替わっているのを修正するつもりでしたが、
この状況では紛らわしいので止めました。


ゆとり死ね。Web板民死ね。
てかお前らマジで他スレ立てろ。乗っ取るんじゃなくてね。

990 名前:デフォルトの名無しさん (ワッチョイ efa7-agmj) mailto:sage [2017/04/03(月) 14:46:34.64 ID:iEMCb3Wm0.net]
とりあえず内容がまともな>>980の方を使わせてもらおうと思うけど
ゆとり死ねとかそういう属性でレッテル貼って叩くのは本当にやめなよ
上にもチョンだの韓国人だの言ってるのいたし最近たち悪いの湧きすぎ

991 名前:デフォルトの名無しさん (ササクッテロラ Sp17-59Pd) mailto:age [2017/04/03(月) 16:21:46.28 ID:+GLMxqCnp.net]
そうだね
ネトウヨみたいなのが在日差別してるような発言が目立つ
ITは国境の壁のない世界なのに、何の根拠もなく在日を見下して酷いレスをしたり、本当にムカつくわ
ジャップと言い返したいが、バカは無視しなければとじっと耐えている

992 名前:デフォルトの名無しさん (ワッチョイ bf72-aC9I) mailto:sage [2017/04/03(月) 18:19:57.56 ID:Yz8joenH0.net]
爆釣でワロタ

993 名前:デフォルトの名無しさん (ワッチョイ 73c8-agmj) mailto:sage [2017/04/03(月) 22:14:04.19 ID:82yaJsi70.net]
>>981
ゆとり死ね

>>982
韓国人死ね

いやなら出て行ってくれよ。マジで。
文句しか言わず邪魔ばかり、でも居座るとか、まさにゆとり=在日韓国人だろ。
同レベルの知能とモラルしかないんだよ。それを自覚して両方とも死ね。

ゆとりは勘違いしているが「○○してはいけない」ってのは子供の考え方なんだよ。
大人はただ、何をやってもそういう人だと受け取られるだけ。つまり責任を取らされる。
この状況でも、ゆとり死ね、韓国人死ねって言わない人なら、そういう人だと取られる。
俺はこの状況なら、言う方を選ぶ。それだけ。
それをお前らがどう取るかはお前らの自由。
同様に、お前らがどういう行動を取ったとしても、それをどう思うかは俺の自由。
重ねて言う。

ゆとり死ね。韓国人死ね。Web板民死ね。

つかね、まともなモラルがあれば、スレ立てた奴(979)はそれを使うべきだし、
継続スレ立てを邪魔した奴(テンプレの最中にどかどか落としてきた馬鹿共)は、
979を使うか、新しく自分達でスレ立ててそこで頑張るのが筋だろ。
ゆとりと韓国人は筋を理解出来る知能がないから会話が成立しない。
そして邪魔することが目的になってるクズだから嫌われるんだよ。
韓国人や民進党が嫌われている理由はそれなんだよ。奴ら分かってないけど。
そしてそれをパヨクは差別にすり替えてきた。だから世界的に反PCなんだよ。

というか、顔も見えないネット上で特定されてしまうことが異常だと気付け。
お前らは非ゆとり世代の常識ではあり得ないことを色々やらかしてる。
ホントマジで死んでくれ。

994 名前:デフォルトの名無しさん (ワッチョイ efa7-agmj) mailto:sage [2017/04/04(火) 00:19:23.84 ID:Up7pI+Y40.net]
なんかもう酷すぎて言葉もないわ

995 名前:デフォルトの名無しさん (アウアウウー Sab7-ZBiq) mailto:sage [2017/04/04(火) 01:04:19.40 ID:/h6/1A+aa.net]
ID:82yaJsi70 はこのスレに要らない人だと思う。
この人は前から一部の荒らしを忌み嫌っていてそれは共感出来るものだが、一部を全と誤認する癖があって、「お前ら」と一括りにして無関係な人にまで誰彼かまわず噛みつく。
こういう人がいつまでも残ってるから荒らしがいなくならない。

996 名前:デフォルトの名無しさん (ワッチョイ bf72-FZ2J) mailto:sage [2017/04/04(火) 03:11:39.99 ID:G9pF4v750.net]
次スレは長文キチが立てたスレかIPスレの2択w

997 名前:デフォルトの名無しさん (ワッチョイ 8ff3-agmj) mailto:sage [2017/04/04(火) 10:22:09.13 ID:PLaqQ/3x0.net]
for( const i=0; i<3; i++ ){

これってエラーになるか警告吐いて無限ループするよね



998 名前:デフォルトの名無しさん (ワッチョイ d370-Mfrl) mailto:sage [2017/04/04(火) 16:16:27.33 ID:EdxJPPSV0.net]
constなのに++できるわけないじゃん

999 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/04(火) 17:50:41.14 ID:0Y6YQxI1a.net]
for( const i=0; i<1; i++ ){}

これでもエラーになるかな?
帰ったら試してみるか

1000 名前:デフォルトの名無しさん (JP 0H7f-aCII) mailto:sage [2017/04/04(火) 17:54:25.25 ID:pyoNKlrCH.net]
>>990
for( const i=0; i<1; i++ ){}

Chrome:
Uncaught TypeError: Assignment to constant variable.
at <anonymous>:1:23

1001 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/04(火) 18:14:32.27 ID:0Y6YQxI1a.net]
>>991
ありがとう
そりゃそうか
先にインクリメントしないことには次に行くかどうかの評価も出来ないもんね
失念してた

1002 名前:デフォルトの名無しさん (アウアウカー Sa7f-ajVR) mailto:sage [2017/04/07(金) 17:48:47.95 ID:WUk4T3iPa.net]
if(hoge()){ return piyo(); }

return hoge() && piyo() ;

ってやってること同じですか?

1003 名前:デフォルトの名無しさん (ワンミングク MMa2-+hGL) mailto:sage [2017/04/07(金) 17:53:38.36 ID:IIm1rFGkM.net]
>>993
ちがうだろw

1004 名前:デフォルトの名無しさん (ワッチョイ 720f-r5Aa) mailto:sage [2017/04/07(金) 19:11:15.38 ID:APzAZxi90.net]
>>993
hoge()が0や""を返す場合を考えるといい

1005 名前:デフォルトの名無しさん (アウアウカー Sa7f-ajVR) mailto:sage [2017/04/07(金) 19:27:57.26 ID:WUk4T3iPa.net]
>>995
あっ、すみません
hoge()がtrueかfalseを返す関数ということを書き忘れてました
これじゃ意味が全然違いますね

1006 名前:デフォルトの名無しさん (ワッチョイ bf92-R2Im) mailto:sage [2017/04/07(金) 20:22:15.76 ID:ELRS5w/50.net]
論理的な思考が出来ない奴っているんだな

1007 名前:デフォルトの名無しさん (ワッチョイ 0770-/mV7) mailto:sage [2017/04/07(金) 22:01:28.99 ID:W6kcLwca0.net]
「同じ」で良いのにね



1008 名前:デフォルトの名無しさん (ワンミングク MMa2-+hGL) mailto:sage [2017/04/07(金) 22:54:37.43 ID:IIm1rFGkM.net]
>>993
それだとhogeがfalseのときに上は何も返さないじゃないか

1009 名前:デフォルトの名無しさん (ワッチョイ e6c8-mfmJ) mailto:sage [2017/04/07(金) 23:02:52.10 ID:sd61oNHw0.net]
いまいちわからないなら
とにかくわかりやすく
if ( ) {
} else {
}
って感じで書いとけばいいと思う……

1010 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<433KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef