トップページ⇒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/
0403デフォルトの名無しさん2016/09/09(金) 21:52:24.77ID:dcApvFQ/
>>400
そういう仕様っぽいような気がしました。
なぜ上書きできないのか、わかってないですが。

>>401
なるほど、ありがとうございます。
classって糖衣構文だと思ってるんですが
内部的にはどうやってるのでしょう(調べてみます)
0404デフォルトの名無しさん2016/09/09(金) 22:11:57.62ID:4wEFuM4p
>>なぜ上書きできないのか
[[Writable]]: false だから
https://tc39.github.io/ecma262/#sec-functioninitialize
ただし[[Configurable]]: true なのでディスクリプタセット系メソッドで上書きはできる

>>内部的にはどうやってるのでしょう
コンストラクタが定義され、その時点では上記のようにlengthプロパティを持っているが、
その後PropertyDefinitionEvaluation→ディスクリプタセット系によって上書きされる
https://tc39.github.io/ecma262/#sec-runtime-semantics-classdefinitionevaluation
0405デフォルトの名無しさん2016/09/09(金) 22:27:00.10ID:Ml2lLB3N
>>403
babelで変換したらこうなったよ。
Object.definePropertyが鍵のようだ。
"use strict";
var _createClass = function () {
 function defineProperties(target, props) {
  for (var i = 0; i < props.length; i++) {
   var descriptor = props[i];
   descriptor.enumerable = descriptor.enumerable || false;
   descriptor.configurable = true;
   if ("value" in descriptor) descriptor.writable = true;
   Object.defineProperty(target, descriptor.key, descriptor);
  }
 }
 return function (Constructor, protoProps, staticProps) {
  if (protoProps) defineProperties(Constructor.prototype, protoProps);
  if (staticProps) defineProperties(Constructor, staticProps); return Constructor;
 };
}();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Sample = function () {
function Sample() {
_classCallCheck(this, Sample);
}
_createClass(Sample, null, [{
key: "length",
value: function length() {
return 100;
}
}]);
return Sample;
}();
0406デフォルトの名無しさん2016/09/09(金) 22:47:46.14ID:dcApvFQ/
>>404 >>405
ありがとうございます。
勉強になりました。
0407デフォルトの名無しさん2016/09/10(土) 11:41:02.99ID:bPnbAneW
わざわざインスタンス作るまでのことじゃない
という夢を見た
0408デフォルトの名無しさん2016/09/12(月) 00:16:46.01ID:MSYFEfr8
>>407

あ
0409デフォルトの名無しさん2016/09/14(水) 11:42:56.90ID:7fc5lKN8
<body onLoad="document.getElementById(id).style.display = 'none'">
でページを読み込んだとき表示させたくない部分を隠せるのだけど
ブラウザで何回もリロードしていると隠れている部分が一瞬表示されることがあります
これを防ぐ方法あったら教えてください
0410デフォルトの名無しさん2016/09/14(水) 11:55:36.48ID:T/00QwAr
>>409
どうしてonLoadにしているのかが分からない
最初からidの要素に対してやればいいのでは?
0411デフォルトの名無しさん2016/09/14(水) 21:09:29.93ID:jzervOJ/
>>409
表示に関することはCSSでやれ
0412デフォルトの名無しさん2016/09/15(木) 04:07:08.15ID:3ffkfw2U
>>409
そりゃonLoadで消す処理の前に描画処理が走ってしまうと表示されるだろうな
まずonLoad は画像等の外部リソースがすべて読み込まれるまで発火しないので、そういう場合どちらかと言えばDOMContentLoadedで呼ぶ方がいい

一瞬でも見せたくないならcssなど外部リソースへのリンクをすべて切った状態で表示されない状態であるべき
表示したい時にそのエレメントを作るまたは流し込む、あるいは非表示にしてあるものを必要に応じて表示にする方が好ましいと思う
0413デフォルトの名無しさん2016/09/15(木) 05:14:15.52ID:ql+kvaik
先にCSSで、非表示に設定しておいて、JSで表示すればいい
0414デフォルトの名無しさん2016/09/15(木) 05:20:33.69ID:ql+kvaik
正しいかどうかは知らないけど、

漏れは、<head>内で、CSSを読み込ませて、
<body>の終了直前で、JS, jQuery, jQueryUI を読み込ませている
0415デフォルトの名無しさん2016/09/15(木) 08:25:11.28ID:snQtI1Af
>>409
JS有効/無効関わらず、適用させるべきなら静的に外部CSSを適用する

JS有効時のみ適用させるなら
1. JSで動的に外部CSSを挿入する
2. JSで動的にstyle要素を挿入する
3. JSで動的にdocument.styleSheetsを操作する
0416デフォルトの名無しさん2016/09/15(木) 08:35:03.76ID:snQtI1Af
回答しておいてなんだが、これはES限定の質問ではないので下記スレで質問すべきだな

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

そもそも、このスレがvol.121の後継スレと銘打って立てるから、こういう勘違いした質問者が出てくるんだよな
「ECMAScript デス 6」として立てれば良かったものを…
0417デフォルトの名無しさん2016/09/15(木) 16:12:55.70ID:3ffkfw2U
あっちは頭のおかしな子が常駐してるからなぁ

外部CSSでやった場合、その外部CSSを取得するためのhttpリクエストがコケたり読み込みが遅れた場合CSSが解釈される前に表示されてしまうよ
よって絶対に(一瞬たりとも)表示したくないならば外部CSSで隠すのではダメ

最低でもインラインCSSで静的に非表示にしておく事が最低条件で、可能ならそれを表示する必要が生じるまでDOM要素が存在しない状態にしておくべき
0418デフォルトの名無しさん2016/09/15(木) 18:33:18.76ID:tL4oMhKi
>>417
> 外部CSSでやった場合、その外部CSSを取得するためのhttpリクエストがコケたり読み込みが遅れた場合CSSが解釈される前に表示されてしまうよ
link要素は基本同期読み込みだったと思うがな これ以上は該当スレでやってくれ
変な奴はどこにでもいるからスルーすればいいだけ
0419デフォルトの名無しさん2016/09/16(金) 23:25:08.31ID:90O68WAb
JavaScript の Closure Compiler
https://googledevjp.blogspot.jp/2016/09/closure-compiler-in-javascript.html

> Closure Compiler は、2009 年に元は Java でリリースされました。本日は、
> まったく同じ Closure Compiler がピュア JavaScript で Java を使わずに利用できる
> ことになったことをお知らせします。この仕組みは NodeJS 環境で実行するように設計されており、
> いくつかのよく使われているビルドツールをサポートしています。

> 初めて聞く方のために説明すると、Closure Compiler は JavaScript の最適化、トランスパイル、
> タイプチェックを行うツールです。これを使うと、コードを高パフォーマンスでサイズが縮小された
> コードにコンパイルすることができます。

> let、const、アロー関数などの ES2015 の新機能をサポートしており、まだすべてではサポートされていない
> ES2015 メソッドの polyfill も提供しています。メンテナンス性や拡張性の高い優れたコードを書けるよう、
> Closure Compiler は構文チェック、タイプの使用法の訂正、さまざまな JavaScript における注意点についての警告も行ってくれます。

これは素晴らしい。Closure CompilerはGoogle製でブランド力はあるのだが、
Javaが必要だったのがJavaScriptの世界に馴染めなかったんだ。

ただbabelはその先を行っていて、拡張可能な仕組みでES2015だけじゃなく
JSX対応とかコード変換にまつわることをサポートするツールになってるんだが、
対抗馬に鳴るだろうか?
0420デフォルトの名無しさん2016/09/17(土) 08:30:02.95ID:0xe0k3r9
>>419
無駄な長文引用は止めてほしいものだな
BabelとClosure Compilerは用途が異なるので競合にはならない
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ではない。
■ このスレッドは過去ログ倉庫に格納されています