トップページ⇒tech
1002コメント464KB

+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/08/29(月) 01:23:24.09ID:MUTWRWKo
プログラマ板の趣旨にあわせてブラウザ限定ではなくサーバーサイドJavaScriptや
トランスパイラなどの関連技術の話題も取り扱うように変わりました。

ECMAScriptの言語仕様の話題。最新ECMAScriptによるモダンな書き方、Promiseやasync/awaitを
使った非同期プログラミング。ES2015、2016、2017等の最新ECMAScriptをブラウザで今すぐ使う方法、
ビルド環境やbowerやnodeのパッケージを使う方法等、モダンなJavaScript環境についての幅広い話をしましょう。

ECMAScript対応実行環境一覧(ブラウザやbabelを含む)
http://kangax.github.io/compat-table/es5/
http://kangax.github.io/compat-table/es6/ (= es2015)
http://kangax.github.io/compat-table/es2016plus/
http://kangax.github.io/compat-table/esnext/

JavaScriptとは?
もともとMozillaの前身のNetscapeが作った言語であり本来のJavaScriptはFirefoxの実装のみです。
JavaScriptの正式な仕様名はECMAScriptです。ですが一般に使われているとおり
ChromeやEdgeで使う言語もJavaScriptとしてこのスレでは扱います。
Firefox等のJavaScript実装は最新のECMAScriptに準拠しています。

※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。

+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1467906819/
+ JavaScript の質問用スレッド vol.130 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1463395557/

前スレ + JavaScript の質問用スレッド vol.121 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1468158373/
0421デフォルトの名無しさん2016/09/17(土) 13:55:23.53ID:YjgX2ujU
'use strict';
"use strict";
のどちらでも良いですか?
上級者の人はどちらを使いますか?
0422 ◆SEdFBOkLSw 2016/09/17(土) 13:56:43.79ID:gYNx5cgj
その先を行ってる訳じゃないでしょ。
Javaが必要だった、と言うが、そんな事なんの問題でも無いと思う。
結局、どっちも、誰かの言う「良くないJavaScript」を「良いJavaScript」に変換するだけの存在。
0423デフォルトの名無しさん2016/09/17(土) 15:18:00.80ID:530UZtkB
>>421
シングルの方がシンプルなので好まれる
ただJSONを書くときとの整合性を考えるとダブルになる
0424デフォルトの名無しさん2016/09/17(土) 17:33:41.59ID:YjgX2ujU
>>423
JSONでシングルは使えないのですか?
0425デフォルトの名無しさん2016/09/17(土) 17:43:37.89ID:5r5hyKhZ
> ただJSONを書くときとの整合性を考えるとダブルになる

そんなどうでもいいところの整合性なんて考えなくていい。
JSONとの整合性を保つ意味がない。
0426デフォルトの名無しさん2016/09/18(日) 05:27:32.37ID:/bzuSpCV
俺はそういうとこを突き詰める人間のほうが好きだけどね。
プログラミングには少なからず美的要素が含まれるから。
少なくともそういうところを考えず放って来た者は上級者ではない。
0427デフォルトの名無しさん2016/09/18(日) 11:44:00.08ID:8zKQ5/pX
>>426
意味がわからん。

JavaScriptとJSONは似ているが別の言語と考えるべき。

言語に応じた最適な書き方を求めるべきであって、
別の言語の習慣を持ち込むなって話なんだけど?
0428デフォルトの名無しさん2016/09/18(日) 12:18:29.13ID:JCfSaSaV
>>426
Cobolみたいな表記が良いの?
0429デフォルトの名無しさん2016/09/18(日) 12:26:41.43ID:Wkbj4nCn
JSONはCSVやXMLと同じ一つのフォーマットに過ぎない
0430デフォルトの名無しさん2016/09/18(日) 15:20:31.34ID:0+yFEvXA
JSONがJavaScript Object Notationであることを勘案すると>>423は以下の様に翻訳できる

>ただJSONを書くときとの整合性を考えるとダブルになる
ただオブジェクト宣言時の表記との整合性を考えるとダブルになる

正直どうでもいいな
0431デフォルトの名無しさん2016/09/18(日) 15:36:58.44ID:7fymcmTA
整合性ではなく、統一性なんだがw
0432デフォルトの名無しさん2016/09/18(日) 15:45:54.06ID:8zKQ5/pX
統一する理由がない
0433デフォルトの名無しさん2016/09/18(日) 16:59:06.74ID:/bzuSpCV
統一する理由がない。
つまりそれはどっちでもいいと言うことだろう?
逆にどっちが良いかの理由を探すのならそういうことも理由になり得るということだ。
君がそういうことを理由としないというのは結構だが、
理由とする人がいることは認めないといけない
0434デフォルトの名無しさん2016/09/18(日) 17:17:43.50ID:8zKQ5/pX
>>433
統一する理由がないと言ったのは、JavaScriptと
JSONのクォートの使い方を統一する必要が無いという意味ね。
JavaScriptはJSONじゃないんだから。

だからJSONを持ち出してきた事自体をなかったことにしろということ。
どちらにするかは採用するコーディング規約に従えばいいだけ。
0435デフォルトの名無しさん2016/09/18(日) 17:27:13.31ID:xD5NzQXy
>>433
それは理由になっている場合の理屈
君のそれが「正当な理由になってない」という事では?
0436デフォルトの名無しさん2016/09/18(日) 17:41:30.85ID:xD5NzQXy
JSONとJavaScriptでは言語体系が違うからなあ
JSONはJavaScriptの文法を真似ているだけのファイルフォーマットだからね
JSONとJavaScriptのクォートを統一するのはPHPとJavaScriptのクォートを統一するようなもの
0437デフォルトの名無しさん2016/09/18(日) 17:45:59.39ID:xD5NzQXy
現実的な理由としてHTMLタグをJavaScriptコードに埋め込む場合、文字列リテラルでダブルクォートを使っているとHTML要素の属性を括る文字にシングルクォートを使わないとエスケープが面倒くさいというのがある
HTML文書でシングルクォートを使っているなら統一性が生まれるけど、ダブルクォートを使っているならJSでは逆にシングルクォートを使った方が統一感があっていい
あまりないけど、サーバサイドスクリプトを介在してJSONをJavaScriptコードに埋め込む場合もシングルクォートを使っていた方が都合がよい
0438デフォルトの名無しさん2016/09/18(日) 18:18:08.32ID:7fymcmTA
a = "123';
b = '456";
 前後のクォートが異なる ※整合性
a = "123";
b = '456';
 a b のクォートが異なる※統一性

JavaScriptに対しての統一性だと言ったんだよ
整合性が保たれていないと動作しないだろw
0439デフォルトの名無しさん2016/09/18(日) 18:58:00.12ID:/bzuSpCV
>>435
まず、どっちで書いても機能的には変わらないということが大前提にあるよね
そうしたらもう気分とかそういう人間側の都合になってくるわけよ

例えばHTMLではダブルが使われる事が多いので、
実際に埋め込むことは滅多にないだろうし、今はテンプレートリテラルもあるけれど、
気分的にJSではシングルを使うとかね

逆にそういう事が理由でないという人が今どちらかを使っている理由を聞きたい
その日のサイコロで決めてるというのでなければ理由があるはずだ
例えば本に書いてあったとか、最初に習ったのがこっちだったとかね

自分はそういう理由も理由だと思うけれど、
まだ大前提のうちでは理屈として一般的で、まだマシに意味がある想像を述べることを推してるのよ
0440デフォルトの名無しさん2016/09/18(日) 22:55:44.47ID:8zKQ5/pX
>>437
> あまりないけど、サーバサイドスクリプトを介在してJSONをJavaScriptコードに埋め込む場合もシングルクォートを使っていた方が都合がよ
そんなことしてるならコードを見直したほうが良いよ。
普通はJavaScriptオブジェクトをJSONに変換する。
0441デフォルトの名無しさん2016/09/18(日) 23:18:12.13ID:8mgjQq3k
>>439
あなたのいう「認める」とは何?
端から見ればあなたがJSONとの統一性を気にしない人を「認めていない」のだが
0442デフォルトの名無しさん2016/09/19(月) 05:07:37.39ID:io387Cln
すみません、よそ者ですが、
そもそもなぜ '' や "" で囲う必要があるのですか?

use strict;

ではダメな理由を教えていただけますでしょうか?
0443デフォルトの名無しさん2016/09/19(月) 05:42:42.21ID:Rfn/Judi
>>442
use strictに対応してないブラウザでエラーが出るからだよ。
文字列にしておけば、古いブラウザでも単なる文字列があるだけ。
0444デフォルトの名無しさん2016/09/19(月) 11:33:59.10ID:io387Cln
>>443
ありがとうございました。
長年の疑問が解消しました。
0445デフォルトの名無しさん2016/09/20(火) 00:04:22.78ID:DlF8DRLC
Angular2で出来て、Vue.jsで出来ないことはどのような事がありますか?
また逆はありますか?
0446デフォルトの名無しさん2016/09/20(火) 15:54:14.06ID:GpfqQSu0
頭が相当悪いみたいだね?
一行目そのまま検索しろよw
0447デフォルトの名無しさん2016/09/21(水) 14:44:20.17ID:wW2qFR9f
すまん、言い過ぎた
反省してる
0448デフォルトの名無しさん2016/09/22(木) 17:06:35.53ID:zXBENXMk
誰かflow使ってる人いる?
0449デフォルトの名無しさん2016/09/23(金) 12:16:27.04ID:QcEXcfJB
統一する必要は無いけど、覚える量を減らしたいので統一しているよ。
0450デフォルトの名無しさん2016/09/23(金) 13:55:08.58ID:AF/DJJLc
>>449
何の話?
0451デフォルトの名無しさん2016/09/23(金) 22:25:12.59ID:MCHe7LJO
>>449
RubyとJSONで "" と '' のどっちを使うかという話だろう?
0452デフォルトの名無しさん2016/09/23(金) 23:00:49.95ID:MCHe7LJO
正直JSONを手書きするのはやめたほうが良いよ。

ライブラリを使って(各言語の)オブジェクトとJSONの
相互変換をした方がいい。だからJSONが""でくくられてる
なんか忘れるべき。

ただテキストエディタのatomとかの設定ファイルや
package.jsonとかがJSONだったりするんだよな。

手書きは全部YAMLにすればいいのに。
0453デフォルトの名無しさん2016/09/23(金) 23:18:21.05ID:oC1wKf1S
>>451
JSONは"しか使えないから選択肢はないだろうに

>>452
> 正直JSONを手書きするのはやめたほうが良いよ。
同意、JSならJSON.stringifyで十分だな
0454デフォルトの名無しさん2016/09/23(金) 23:27:17.39ID:Da0YgZYz
元々はjavascriptをシリアライズする為の物だったんだよね?
手書きする事はあまり考えられてなかったんじゃねーの
0455デフォルトの名無しさん2016/09/23(金) 23:30:53.64ID:laz5P8lZ
設定ファイルをjsonで書くの多いだろ
jsonに変換するツール書くかのか? w
0456デフォルトの名無しさん2016/09/23(金) 23:35:07.87ID:aAYGOufH
ツールなんか使わなくともシリアライズする機能が各言語で用意されてるからな
0457デフォルトの名無しさん2016/09/23(金) 23:46:44.92ID:laz5P8lZ
はあ?
じゃ【設定】はどこに書くんだよ w
0458デフォルトの名無しさん2016/09/23(金) 23:51:52.39ID:2jAc0sAD
JSON.stringify({a:1, b:2}); とか、普通にやるだろ
JSONを全部手書きしたらプロパティ名をクォートで括らなければならんし、面倒くさい
簡単なJSONの書き換えなら手入力するかもしれんが
0459デフォルトの名無しさん2016/09/24(土) 00:04:59.40ID:y4/Y2YH6
お前、設定項目が数個のプログラムしか作った事ないのか? w
そんでもってa:1をa:2に書き換えたら、その都度そのプログラム実行するのか? 大爆笑
0460デフォルトの名無しさん2016/09/24(土) 00:11:43.60ID:8/0tEXHb
>>459
おまえは読解力が足りないアホなのか
数個だろうが何個あろうが、複数あるからシリアライズする価値がある
簡単な書き換えなら手入力するといってるだろ
0461デフォルトの名無しさん2016/09/24(土) 00:18:30.72ID:y4/Y2YH6
お前はアホなのか?情報は一元管理が鉄則

これに反すると
"a":1を"a":2に書き換えてa:1をa:2に書き換えるハメになる
バカしかやらんわ
0462デフォルトの名無しさん2016/09/24(土) 02:14:00.16ID:bcRI8Hfy
>>459
プログラムを実行も何も、ワンライナーじゃえの
var j=JSON.parse(fs.readFileSync(...));j.hoge=aaa;fs.writeFileSync(JSON.stringify..
0463デフォルトの名無しさん2016/09/24(土) 06:05:18.86ID:54HKSWWZ
promptでダイアログボックスを表示して、キャンセルを押すとNaNが返ってきます。
ダイアログボックスのキャンセルはNullが返ってくるとあったのですが、何がいけないのでしょうか?
見入力でOKを押した場合と、キャンセルを押した場合とで違う処理をしたいと思っています。
0464デフォルトの名無しさん2016/09/24(土) 08:35:07.11ID:8/0tEXHb
>>461
>>462藻指摘してるが、JSON.parseしてからJSON.stringifyするだけだろ
2箇所を同時に書き換えなければならない、なんて思ってるのはお前だけ
0465デフォルトの名無しさん2016/09/24(土) 09:16:15.32ID:y4/Y2YH6
>>464
後出し大将現る
> JSON.stringify({a:1, b:2}); とか
0466デフォルトの名無しさん2016/09/24(土) 10:00:58.09ID:T2jfomp1
>>463
知らんけどブラウザ依存じゃない?
ttps://jsbin.com/tamofawite/edit?js,output
Chromeだと false だった
0467デフォルトの名無しさん2016/09/24(土) 12:47:39.74ID:NUokNM1t
>>465
元々はJSONを入力する時の話だったからJSON.stringifyを紹介した
お前さんが「JSONとオブジェクト初期化子の2箇所を同時に書き換えるのか」とアホな事をいってJSON読み込みの必要が出てきたからJSON.parseを紹介した
お前さんが何の設定する事を想定していてどのように編集しているのか、俺は知らん
俺から見れば情報を曖昧に出して後出ししたのはお前の方
0468デフォルトの名無しさん2016/09/24(土) 12:51:25.63ID:NUokNM1t
後な
JSONの設定編集は当初の>>421の質問からは大きく話題がずれてる
JSONの設定に合わせてJavaScriptコードの入力スタイルを決める必然性はまるでない
君はそうなんだろうが、別の言語同士でクォートの記述を合わせる必要はないからな

GoogleのJavaScript Style Guideに合わせてシングルクォートを使う人もいるだろう
見た目を気にしてシングルクォートを使う人もいるだろう
HTMLで見慣れているダブルクォートを使う人がいるかもしれない
最終的には自分なりの好みや優先順位で決まるもので他人の考えを否定出来るほどの論理は基本的にない
0469デフォルトの名無しさん2016/09/24(土) 12:58:58.18ID:YdAnVmLb
勝手に整合性を自己定義している時点で間違い
0470デフォルトの名無しさん2016/09/24(土) 13:04:04.59ID:y4/Y2YH6
後出し大将あらため言い訳番長
【設定ファイル】って知らないらしい
0471デフォルトの名無しさん2016/09/24(土) 13:56:12.12ID:e4J3FKju
>>470
何の設定ファイル?
JavaScriptには設定ファイルなんてないぞ。
0472デフォルトの名無しさん2016/09/24(土) 14:33:05.17ID:y4/Y2YH6
おバカですねえ、揚げ足取りにすらなってない
0473デフォルトの名無しさん2016/09/24(土) 15:28:20.96ID:e4J3FKju
揚げ足取りではなくて、質問なんだが?

質問なのに揚げ足取りに鳴るわけ無いだろw
それで、何の設定ファイル?
0474デフォルトの名無しさん2016/09/24(土) 17:56:14.37ID:y4/Y2YH6
そんじゃ、質問で返してやるよ

キミが知ってる【設定ファイル】を読み込むプログラムを記述してる言語を答えよ。そしてその記述言語の設定ファイルの有無も答えよ。

これに回答できたら教えてあげる
0475デフォルトの名無しさん2016/09/24(土) 18:01:32.86ID:fVgLvkCD
こっちにも貼っとくか…
http://i.imgur.com/u6Rc0Au.jpg
自分がレスを返してる相手がレスを返す価値のある相手かよく考えろよ
0476デフォルトの名無しさん2016/09/24(土) 18:32:49.67ID:fP/MPmfi
AutopagerizeのSITEINFOはJSONだな
http://wedata.net/databases/autopagerize/items
0477デフォルトの名無しさん2016/09/24(土) 20:38:30.75ID:6IMs83+U
>>474
C言語。そしてC言語に設定ファイルなんてものはない。
0478デフォルトの名無しさん2016/09/24(土) 20:43:52.34ID:y4/Y2YH6
>>477
じゃ、教えてあげよう
atom
0479デフォルトの名無しさん2016/09/24(土) 21:27:12.07ID:6IMs83+U
>>478
atomはテキストエディタ
0480デフォルトの名無しさん2016/09/24(土) 21:37:31.21ID:y4/Y2YH6
>>479
そうだよ。javascriptの設定ファイルなんて誰も言ってないのに
どっかのバカがこんな(>>471)マヌケな事言い出したから。ハア? だよ

>>471
>>>470
>何の設定ファイル?
>JavaScriptには設定ファイルなんてないぞ。
0481デフォルトの名無しさん2016/09/24(土) 22:28:02.67ID:/TWDHHcN
xjsonとか云うの出すらしいから
手書きも増えるし、要求されるかもしれない。
0482デフォルトの名無しさん2016/09/24(土) 23:10:20.02ID:6IMs83+U
>>480
意味がわからん。
atomの設定ファイルをJSONで書くからって
C言語などでJSONに合わせてコード書く必要ないだろ。
0483デフォルトの名無しさん2016/09/24(土) 23:39:01.41ID:y4/Y2YH6
>>482
それはキミがバカだからわからないんだよ
JSONで記述された設定ファイルの話をしていたら、どっかのバカが
>何の設定ファイル?
>JavaScriptには設定ファイルなんてないぞ。
と、絡んできただけ
0484デフォルトの名無しさん2016/09/25(日) 00:39:56.37ID:0J+83ZC2
>>483
だからJSONで記述された設定ファイルの話を

JavaScriptのスレでする意味ないだろって話なんだが?
0485デフォルトの名無しさん2016/09/25(日) 05:34:54.46ID:y4/VuarS
もういいよ
皆>>483が正しいって分かってるから
>>484は放っておこう
0486デフォルトの名無しさん2016/09/25(日) 07:44:51.98ID:qiD59u34
そうでないかと危ぶんでいたが、やはり、Atomだったか
Atomの設定ファイルをテキストエディタで編集するのはcsonだと思うが、jsonを編集する事なんてあるのか?
改行もインデントもされてないjsonファイルを直接編集するのはいかれてるとしか思えないんだが

> 皆>>483が正しいって分かってるから
本人しか同意してないように読めるけどな
0487デフォルトの名無しさん2016/09/25(日) 08:41:36.29ID:hrPU7kVw
>>463 >>466
jQuery UI のダイアログでも使えば?

OK, Cancelの2つのボタンしか無いなら、

if(OK){ }
else { }
でいいだろ

戻り値が、NaN というのは、数値変換エラーだから、プログラムにバグがある

>>486
圧縮された、JSファイルでも、Edgeの開発者ツールなどで、きれいに整形して表示してくれる
0488デフォルトの名無しさん2016/09/25(日) 09:50:51.04ID:KU3wtz+G
>>484
>だからJSONで記述された設定ファイルの話を
>JavaScriptのスレでする意味ないだろって話なんだが?
足りない頭で必死に考えたんだろうが、バカ過ぎる

あるアプリの設定ファイルを設計したい、javascriptなのでJSONで行こうと思うが、
その際の注意点は…
全然問題ない
0489デフォルトの名無しさん2016/09/25(日) 10:03:00.83ID:NgaD/H31
そうだよな、設定ファイルがJSON形式というだけ
0490デフォルトの名無しさん2016/09/25(日) 10:13:15.83ID:qiD59u34
>>487
いや、「config.csonを編集することはあってもapplication.jsonを編集することはないんじゃない?」って事
テキストエディタの設定ファイルをテキストエディタで編集するなら、コメントやインデントをつけたくなるし、俺はAtomでJSONファイルを編集したことがない

> 圧縮された、JSファイルでも、Edgeの開発者ツールなどで、きれいに整形して表示してくれる
そういうツールがあるのは知ってる
JSONを整形するなら内部的にJSON.parseと同等機能を使っているはずだが、彼(>>465)はなぜか否定的というか馬鹿にしている感があるし、主張がちぐはぐすぎるんだよな…
0491デフォルトの名無しさん2016/09/25(日) 10:27:53.21ID:qiD59u34
そもそも、JSONはテキストエディタで直接編集することを踏まえていない感がある
インデントはできるが、コメントは使えない時点でテキストエディタで編集する気が起きない(Atomで膨大な設定用プロパティを全て覚えるのは無理)
どうしても必要な状況があれば「JSON エディタ」的な何かを使うだろうな

実際には>>476のように設定用UIを別に作っているケースが多いと思う
Atomはユーザが直接編集するものはCSONかCoffeeScriptを使い、プログラム側で生成するものはJSONを使っている
0492デフォルトの名無しさん2016/09/25(日) 12:11:22.44ID:qud+/4QR
うーん。設定用UIねえ
ゲームエンジン作ったときの話だけど
ユーザー側の設定用UIはボチボチ作るというかJSONにしないけど
そのエンジンの設定ファイルを書き出すためのツール作らないでしょ
バージョンアップの度にUI弄って書き出すのか?と言うことになるし
intファイルと同じく手編集もするものだと思うよ
で、コーディングと一緒に書いていくから、クォーテーションの整合性を気にするのも自然
0493デフォルトの名無しさん2016/09/25(日) 12:22:42.62ID:iekzKwrb
JSONがテキストエディタで編集するのに向かないって話じゃないの?
CSVをテキストエディタで編集しないのと同じ
0494デフォルトの名無しさん2016/09/25(日) 12:24:56.98ID:iekzKwrb
>>492
iniはコメントを許す仕様じゃなかったっけ
テキストエディタで編集する前提ならその設定行の意味するところをコメントで書くべきだと思うな
0495デフォルトの名無しさん2016/09/25(日) 13:28:03.63ID:0J+83ZC2
>>488
> あるアプリの設定ファイルを設計したい、javascriptなのでJSONで行こうと思うが、

別にJavaScriptだからってJSONを使う理由はないし
RubyだってJSONを使うことだってある。

っていうか、その理屈だとYAMLはいつ使うんだよ?w
YAMLみたいな言語はないぞ。
0496デフォルトの名無しさん2016/09/25(日) 13:32:12.13ID:0J+83ZC2
Atomの例でわかるように、JSONが" " でくくられているからって、
JavaScriptのコードは "" で括る必要はないね。
0497デフォルトの名無しさん2016/09/25(日) 13:33:11.00ID:V/4I7o9u
>>495
YAMLみたいな言語、がようわからんね。
Yaml ain't markup language
なんだから、言語ではないよ。
0498デフォルトの名無しさん2016/09/25(日) 13:33:55.60ID:0J+83ZC2
>>497
だから設定ファイルの流儀をソースコードに持ち込むなって話だよ。
atomの例で分かったろw
0499デフォルトの名無しさん2016/09/25(日) 13:53:31.79ID:V/4I7o9u
>>498
そりゃ変だよ。
パースできるものとソースの書式が同じでなんの問題も無いし、
存在意義とか目的によって、サブセットになるのは至極当然な気がするが。
0500デフォルトの名無しさん2016/09/25(日) 13:56:15.35ID:6/nEO/uB
evalでパースすれば関数もパース出来るし、式も使える
コメントもあるし、""をキーに使わなくていいし、''を使う事も出来る
0501デフォルトの名無しさん2016/09/25(日) 14:39:36.71ID:0J+83ZC2
>>499
話がずれてる。同じだと問題があるなんて一言も言ってない。

同じにする必要はない。設定ファイルのことなんか忘れて
JavaScriptのやり方として良い方を選べって言ってる。

その例としてAtomを出したんだが?わからなかった?
Atomは設定ファイルにJSONを使っているが、
JSONが""だからって、ソースコードは""にする必要はない。
0502デフォルトの名無しさん2016/09/25(日) 14:41:15.30ID:0J+83ZC2
>>500
それはJSONの仕様を満たしていないから
JSONではない。
0503デフォルトの名無しさん2016/09/25(日) 14:54:10.10ID:hrPU7kVw
>>491
JSONでは、JSのコメントが使えないの?
それならダメだわ

Ruby, Groovy みたいに、言語そのものが、
設定ファイルとしても読める、DSL風の言語が優れている
0504デフォルトの名無しさん2016/09/25(日) 15:05:45.98ID:0J+83ZC2
>>503
お前「言語そのものが設定ファイル」の意味分かってないだろ。
言語そのものを設定ファイルとして読むっていうのならどの言語でも可能だよw

コンパイルしないと実行できない言語の場合は
コンパイラを内蔵する必要があるだろうけど。
0505デフォルトの名無しさん2016/09/25(日) 15:36:47.03ID:y4/VuarS
>>501
「必要はない」じゃないんだよ
「ない」という答えを出すのは簡単
元の質問に、「そんなのどっちでも関係ない、そんなこと聞くな」というのは簡単
でもそれじゃつまらないから、しいて言えばの理由をひねり出してるんでしょ
その前提分かってそういうこと言ってる??
しいて言えばそういうこと気にする人もいるということを言ってるの
別に一般的に気にする必要があるとは誰も言っていない
0506デフォルトの名無しさん2016/09/25(日) 15:38:42.41ID:0J+83ZC2
はぁ?

じゃあGoogleのコーディングスタイルに合わせて
'' を使うべきだっていうのが正確だよw
0507デフォルトの名無しさん2016/09/25(日) 15:39:13.51ID:0J+83ZC2
あ、見にくかったな。
' ' (シングルクォート)でくくるべきだっていうのが正解だよ。
0508デフォルトの名無しさん2016/09/25(日) 15:51:35.05ID:0J+83ZC2
どっちが良いのかは、実際にどちらが多く使われてるかで決めたほうが良いよ。

http://sideeffect.kr/popularconvention#javascript

理由がある場合は必然的に多く使われるし
理由がなくとも一般的なJavaScriptの書き方として統一しておいたほうが良い。

あともちろんJavaScriptとしての話なので、
ここで他の言語のルールを参考にする必要はまったくないw
0509デフォルトの名無しさん2016/09/25(日) 15:59:27.55ID:0J+83ZC2
数もそんなにないし転記しようかね? (俺のスタイルと完全に一致してるw)

・最後にカンマ vs 最初にカンマ → 最後にカンマ
○ var obj = {
foo: 1,
bar: 2,
× var obj = {
foo: 1
, bar: 2

・スペース vs タブ → スペース

・関数名の後にスペースを入れる vs いれない → 入れない
○ function foo() {
× function foo () {

・引数の前後にスペースをいれる vs いれない → 入れない
○ function fn(arg1, arg2) {
○ if (true) {
× function fn( arg1, arg2 ) {
× if ( true ) {

・オブジェクト定義の:の前後にスペースを入れる → 値の前のみに入れる
○ foo: 1,
× foo:1,
× foo : 1,

・条件文のキーワードの後にスペースを入れる → 入れる
○ if (true) {
× if(true) {

・シングルクォート vs ダブルクォート → シングルクォート
0510デフォルトの名無しさん2016/09/25(日) 16:00:55.47ID:rgw8PMte
前から疑問なんだが
JSONはなぜ大文字なの?
0511デフォルトの名無しさん2016/09/25(日) 17:02:28.76ID:+OU/FywJ
>>510
JavaScript Object Notationの略であり、英語ではこの様に単語の頭文字を抜き出した略語を他の語と区別するために大文字で表記する慣習があるから
0512デフォルトの名無しさん2016/09/25(日) 17:17:23.26ID:0J+83ZC2
つーかatomの例を出したんだから
そこから理解しろよw

JSONとJavaScriptは別物なんだから
JSONがダブルクォートだからって、
ソースコードまでJSONに合わせる必要ねーだろ。

文字列をくくるのはシングルクォートだし、
オブジェクトのキーであればそもそもクォートでくくらない。
0513デフォルトの名無しさん2016/09/25(日) 17:20:48.99ID:iekzKwrb
>>503
JSONではコメントを使えないのでAtomではテキストエディタで編集する前提のファイルにはCSONを使っている
上でJSON云々で暴れている人はJSONをまるで理解してしないと思われる
0514デフォルトの名無しさん2016/09/25(日) 18:25:59.06ID:afVL0VXc
どっかでみた感じのテンションの上がり方だな。

尻カンマではなく頭改行カンマ派だと言うことはおいといて、
なぜその言語のサブセットか自体であるべきではないと言い切っちゃうんだろう。

最悪、パーサが無くても解釈出来るようにだと思うんだが。
0515デフォルトの名無しさん2016/09/25(日) 18:34:17.91ID:KU3wtz+G
>>513
頭悪いな
じゃpackage.jsonでも、なんでもいいぞ
atomを使ってないのは正解だ
0516デフォルトの名無しさん2016/09/25(日) 20:12:32.35ID:0J+83ZC2
知らないかもしれないが、package.jsonっていうのはnpmの話だ。
ソースコードをみれば、何が言いたいのかわかるだろう。
https://github.com/npm/npm/blob/master/lib/completion.js

JSONの流儀に合わせるやつなんていない。
0517デフォルトの名無しさん2016/09/25(日) 22:29:45.99ID:Pt+ww3lU
package.jsonをテキストエディタで書く人がいるとは…
彼は反論する度にボロが出てくるな
0518デフォルトの名無しさん2016/09/26(月) 00:08:05.47ID:fnqveAbt
奴隷のように決められたパターンでしか使わないなら、手書きしないでも済むだろうね
0519デフォルトの名無しさん2016/09/26(月) 00:15:10.40ID:juGwjv/D
>>518
奴隷のようにって必要なくね?w

package.jsonは決められたパターンでしか
使わなくて済むようになってる。
だから手書きする必要もない。

OK?
0520デフォルトの名無しさん2016/09/26(月) 00:17:22.71ID:fnqveAbt
それは奴隷のキミだけ
■ このスレッドは過去ログ倉庫に格納されています