+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/08/29(月) 01:23:24.09ID:MUTWRWKoトランスパイラなどの関連技術の話題も取り扱うように変わりました。
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/
0910デフォルトの名無しさん
2016/12/20(火) 13:33:59.46ID:020Rzxthこれいいね。クラス増えてもimportを書き換えなくてすむから。
0911デフォルトの名無しさん
2016/12/20(火) 15:19:02.93ID:N26jdoYeあー、なるほど。
それなら、
namespace = namespace | {};
namespace.foo = function(){
var _this=this;
: //必要な事
return コンストラクタ
}
で良いんじゃ?
0912デフォルトの名無しさん
2016/12/20(火) 15:27:29.72ID:43NQe2ZKクラスの継承に対応できないと思われる。
0913デフォルトの名無しさん
2016/12/20(火) 15:29:52.21ID:ZDgkmudg多分トランスパイラ使ってできると言ってるんだろうけど、
それは今のトランスパイラがCommonJSチックに変換する(しかない)からであって、
今の所のWhatWGのModule仕様やコンセンサスではそれができることにはなっていない。
0914デフォルトの名無しさん
2016/12/20(火) 15:30:17.27ID:N26jdoYe_thisのprototypeで何とかするくらいか。
たしかにめんどくさいな。
0915デフォルトの名無しさん
2016/12/20(火) 15:31:08.43ID:pjk6TxQO混乱しかもたらさない
0916デフォルトの名無しさん
2016/12/20(火) 15:50:26.64ID:43NQe2ZKimport、export はそもそもブラウザ(chrome等)で動作しないと思われる。
0917デフォルトの名無しさん
2016/12/20(火) 16:09:43.45ID:pjk6TxQO0918デフォルトの名無しさん
2016/12/20(火) 16:24:37.20ID:ZDgkmudgだからどっちみちES2015でスマートに書ききるのは無理、諦めてという話をしてる。
0919デフォルトの名無しさん
2016/12/20(火) 16:25:20.82ID:43NQe2ZK論外
0920デフォルトの名無しさん
2016/12/20(火) 16:26:35.17ID:43NQe2ZKのような気がしますね
0921デフォルトの名無しさん
2016/12/20(火) 16:46:50.43ID:j9/nK/yZ908の方法でよくない?変換された後がどうなろうが人は名前空間らしきもの使えてるじゃん。
0922デフォルトの名無しさん
2016/12/20(火) 17:25:01.21ID:L1JD/wQEこれとか
>>912
>>>905 >>906
>
>クラスの継承に対応できないと思われる。
0923デフォルトの名無しさん
2016/12/20(火) 19:12:02.94ID:N26jdoYevar使いたくないからbabel使う方がおかしい。
どーせvarに置き換わってるのに。
デカ目の型付き配列から、綺麗に確保したり返したりするレベルで正しくコンパイルされるならわかるけど、
そんなまがい物で満足する気持ちがわからん。
ブラウザ切り捨てるほうがマシ。
0924デフォルトの名無しさん
2016/12/20(火) 19:21:33.14ID:3IscN3UC0925デフォルトの名無しさん
2016/12/20(火) 22:08:14.12ID:YeETBa/Pトランスパイラが嫌なんじゃないよ。
トランスパイラはトランスパイラでしかない。
コンパイラなら意味はあるけど。
0926デフォルトの名無しさん
2016/12/20(火) 22:12:52.09ID:WrmQq8zj(hh,mmは1桁でも可)
わざわざgetDate()などして連結するしかないのでしょうか?
0927デフォルトの名無しさん
2016/12/20(火) 22:26:48.29ID:UE63r4futoISOStringして、replaceで(.*?)-(.*?)-(.*?)T(.*?):(.*?)\..*を、$2月$3日 $4;$5
で良いのでは?
0928デフォルトの名無しさん
2016/12/21(水) 00:05:55.85ID:xYX0mlO/どっちみちbabelなどは必要になるよ。
なぜなら小さなファイルに分割されていたら読み込みが遅くなるだろ?
だから結合処理が必要になるんだよ。
もちろん単純に結合しただけじゃ無理
0929デフォルトの名無しさん
2016/12/21(水) 00:10:17.85ID:RFNpxL9S0930デフォルトの名無しさん
2016/12/21(水) 00:11:10.15ID:tskPgAul0931デフォルトの名無しさん
2016/12/21(水) 01:30:04.07ID:XipnktJgSystemJSやばい遅いよね。Ang2は先に行きすぎ。
0932デフォルトの名無しさん
2016/12/21(水) 08:25:11.38ID:yT8Lkx8e広げるなよw
babelは要らん。それならwebpackで充分。
0933デフォルトの名無しさん
2016/12/21(水) 09:19:50.01ID:MCySocIXローカル表示にしたいのなら、決め打たずnavigator.languagesを見ながらIntlAPIを使ったほうが良いと思う。
0934デフォルトの名無しさん
2016/12/21(水) 12:33:15.81ID:X1dbNMbH高卒沸いたwww
0935デフォルトの名無しさん
2016/12/21(水) 21:06:14.85ID:xYX0mlO/せやね。早いところIEからEdgeに乗り換えてほしいね。
Microsoft Edgeに。
そうすればMicrosoft Edgeはimportサポートしてるから、
あとはFirefoxやChromeの対応を待つだけで良くなる。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import
0936デフォルトの名無しさん
2016/12/21(水) 21:40:39.60ID:HG47hG4n「ECMAScript デス 6」で立てるとして「ECMAScript デス 4」のテンプレを元にリンク修正してみた
https://fiddle.jshell.net/65tysya6/1/show/
修正事項があれば意見よろしく
0937デフォルトの名無しさん
2016/12/21(水) 21:57:51.64ID:xYX0mlO/0938デフォルトの名無しさん
2016/12/22(木) 00:03:42.02ID:N3v3bTKO反対意見は具体的に書くべきだな
0939デフォルトの名無しさん
2016/12/22(木) 02:27:59.81ID:N3v3bTKO仕切るな、という奴が仕切ってる
+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1482325013/
0940デフォルトの名無しさん
2016/12/22(木) 14:53:43.08ID:NvKCe79q関連スレのURLに「-100」や「l50」が残ってるね
0941デフォルトの名無しさん
2016/12/22(木) 18:30:07.32ID:0dTZqklr0942デフォルトの名無しさん
2016/12/22(木) 23:14:31.28ID:zr2stMzt修正した
https://fiddle.jshell.net/65tysya6/2/show/
0943デフォルトの名無しさん
2016/12/23(金) 08:46:25.82ID:hLVMkx+6建てても落ちてたのに今や勝手に仕切るなと言われるほどになったんだなぁ(しみじみ)
0944デフォルトの名無しさん
2016/12/23(金) 12:04:43.09ID:L8VrAqOy0945デフォルトの名無しさん
2016/12/23(金) 12:15:47.82ID:UAK6AX6kで、お前誰だよ
0946デフォルトの名無しさん
2016/12/30(金) 21:00:20.93ID:x814SSV+最新のJavaScriptが急成長する
JavaScript/ECMAScript version 6(通常ECMAScript 2015あるいはES6)は2015年の6月にリリースされた。
私は2016年にはこの言語が広く採用され、デベロッパーが新しいバージョンに慣れるにしたがって新たサポートされた機能が
ウェブに普及するだろうと予測した。この予測は概ね当たった。
主要なブラウザすべてとNode.js(オープンソースのJavaScriptランタイム)の90%はES6準拠となった。
この頃では、ES6は実験的、実験的な小さなシステムや内部利用に限られるツールに埋め込まれているだけでなく、
さまざまな製品や主要顧客が直接触れるようなインターフェイスにも採用されている。
http://jp.techcrunch.com/2016/12/30/201612262016s-top-programming-trends/
0947デフォルトの名無しさん
2016/12/30(金) 22:06:19.21ID:Su1lYfd3ES2016を見ても分かる通り、2016年はJavaScriptにとって休憩・成熟の年。
0948デフォルトの名無しさん
2016/12/31(土) 15:41:57.11ID:nUjD4DbZ「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
0949デフォルトの名無しさん
2016/12/31(土) 15:45:11.94ID:2NsOdIiQそれもう何年も実現できてないやつじゃないか?
0950デフォルトの名無しさん
2016/12/31(土) 15:52:57.77ID:fr6r+Jszあちこちに宣伝しなくてもええんやで
0951デフォルトの名無しさん
2016/12/31(土) 15:58:37.49ID:2NsOdIiQ0952デフォルトの名無しさん
2016/12/31(土) 16:13:59.22ID:z+aCJeF2ESの動向次第だけどJSキラーどころか実行エンジンに組み込まれるのが既定路線っしょ
0953デフォルトの名無しさん
2016/12/31(土) 17:06:25.32ID:2NsOdIiQ新しいGUIツールキットを作るのか、
それともReactなどを使うのか
0954デフォルトの名無しさん
2017/01/01(日) 15:46:08.23ID:fjo8Lp7F0955デフォルトの名無しさん
2017/01/02(月) 08:37:47.50ID:GJGsj00thttps://codezine.jp/article/detail/9072
http://qiita.com/kenju/items/3ec95aebd30bc95b862c
特にasm.jsの中の人へのインタビュー記事がいい感じ
JavaScriptを置き換えるものではなく、asm.jsの後継な印象
0956デフォルトの名無しさん
2017/01/02(月) 14:28:53.67ID:cJ1XZtMTECMAScript デス 6
http://echo.2ch.net/test/read.cgi/tech/1483332914/
0957デフォルトの名無しさん
2017/01/04(水) 15:04:29.19ID:umsjl3YZ記事の注目度を量るものが作りたいのです。
idのふってある記事があり、スクロールをしてその記事の所で一定時間以上留まった場合に
データベースに+1クリックされた場合に+10といったような感じで記事の注目度を集計したいのですが、
JavaScriptで作れるでしょうか?
0958デフォルトの名無しさん
2017/01/04(水) 15:23:43.08ID:NPU+n2sm0959デフォルトの名無しさん
2017/01/04(水) 16:52:21.31ID:mqV6TFzJどうやったらいいのか書いてやれよ、タコ
0960デフォルトの名無しさん
2017/01/04(水) 17:12:55.51ID:umsjl3YZ作成可能ということがわかれば大丈夫です。
お手数をおかけしましました。
0961デフォルトの名無しさん
2017/01/05(木) 06:23:52.60ID:sTWjNqOnディープラーニングを使って、雑多な挙動から人の見てるポイントを当てられるようにしたいね。
0962デフォルトの名無しさん
2017/01/13(金) 12:58:49.41ID:/Ly9HZcxfor( v in list ){
v.unko();
}
こうすると警告でないけど、これちょっと過保護過ぎない?
for( v in list ){
if( list.hasOwnProperty(v) ){
v.unko();
}
}
0963デフォルトの名無しさん
2017/01/13(金) 14:12:40.46ID:zjO4Avujjavascript for inでググれ
0964デフォルトの名無しさん
2017/01/13(金) 18:31:36.66ID:/Ly9HZcxググったけど、納得はできん
0965デフォルトの名無しさん
2017/01/13(金) 22:33:38.93ID:9L2JHio8> なんでダメなん?
JSLintを使ってるのがだめ。今はESLintを使うのが普通。
使わないやつはもってのほか
0966デフォルトの名無しさん
2017/01/14(土) 01:36:36.33ID:8r+htSmNそれは配列もしくはイテレータか?Yesならfor-ofを使え
それはプロトタイプを辿ることを期待しているか?Yesならそのままfor-inを使え、NoならObject.keysを使え
0967デフォルトの名無しさん
2017/01/14(土) 05:07:21.21ID:QKiPrSuQそれならTSで書く
0968デフォルトの名無しさん
2017/01/14(土) 07:06:34.71ID:iwTuat6d0969デフォルトの名無しさん
2017/01/14(土) 10:39:47.10ID:jF4idfYe答えは「Yes」です。
例えば、エラーのチェックに加え、ESLintはベストプラクティスや文体といった面でのコードフォーマットのチェックを行えます。
残念ながらESLintとの互換性はTypeScript ESLint Parserプロジェクトに依存しており、このプロジェクトはまだ実験段階です。
http://postd.cc/i-was-wrong-about-typescript-here-is-why/
0970デフォルトの名無しさん
2017/01/15(日) 00:50:13.29ID:yEIrJursこう書いたら汚れてしまいます何でですか?
function A() {
this.n = 1;
console.log('A', this.n);
function B() {
this.n = 2;
console.log('B', this.n);
}
B();
console.log('A', this.n);
const C = () => {
this.n = 3;
console.log('C', this.n);
};
C();
console.log('A', this.n);
}
A();
0971デフォルトの名無しさん
2017/01/15(日) 01:22:24.01ID:H2QAGxh+0972デフォルトの名無しさん
2017/01/15(日) 07:12:01.12ID:xznLPQ3Knew演算子が使われていないから
thisの使い方を勉強し直すべき
0973デフォルトの名無しさん
2017/01/18(水) 22:47:50.54ID:eABpypnl実際にウェブページを開いてるChromeから
ChromeのコンソールよりJSの実行はできたのですが
setIntervalのような処理をしたい場合はどうしら良いのでしょうか?
0974973
2017/01/18(水) 22:57:14.78ID:eABpypnlsetIntervalをコンソールに打って実行すると
一度は処理をしてくれるのですが、それ以降は処理をしてくれません。
ChromeでsetIntervalの機能を実現するためには、どうしたらよろしいでしょうか。
ここまで書いておいてなんですが、これはChromeの板とかで聞いた方がよろしいでしょうか。
0975デフォルトの名無しさん
2017/01/18(水) 23:12:38.51ID:Vst0K44uそこを使って自分がしたいなにかを実現するところではありません。
0976デフォルトの名無しさん
2017/01/18(水) 23:21:41.38ID:eABpypnl0977デフォルトの名無しさん
2017/01/19(木) 14:41:41.47ID:+apAMdxY使うときは誤解の余地のない定型的な使い方のみとする。
0978デフォルトの名無しさん
2017/01/19(木) 22:22:16.11ID:owrdnXbA誤解の余地のない書き方をするのが普通
0979デフォルトの名無しさん
2017/01/20(金) 17:51:47.00ID:wJtT45vW0980デフォルトの名無しさん
2017/01/20(金) 18:07:31.87ID:GCbU9UQF0981デフォルトの名無しさん
2017/01/20(金) 18:41:31.61ID:ay+DjVWx適切に学習すればどんなものでも使えるものだ
0982デフォルトの名無しさん
2017/01/21(土) 13:38:14.94ID:s6Ci3q5W・index.html
<!DOCTYPE>
<html>
<head>
<title>ゲーム</title>
<script src="main.js"></script>
<body onload="init();">
<canvas id="canvas" width="1000 height="1000"></canvas>
</body>
</html>
・main.js
function init()
{
var canvas = document.getElementById("canvas");
if (canvas.getContext)
{
ctx = canvas.getContext('2d');
setInterval(draw, 33);
}
}
function draw()
{
ctx.fillRect(0, 0, 1000, 600);
}
これだけのすごい短いコードなんですがctx.fillRect(0, 0, 1000, 600);
の600のところを変化させても,200を超えたあたりから変化しないみたいです
何が原因か分かる方いたら教えてください..
0983デフォルトの名無しさん
2017/01/21(土) 14:13:04.39ID:pcFLx4Ty続きの質問をWeb制作板でどうぞ
http://echo.2ch.net/test/read.cgi/hp/1478053599/
0984デフォルトの名無しさん
2017/01/21(土) 14:27:04.14ID:s6Ci3q5Wありがとうございます,正常に動くようになりました
今度からはそちらで質問させてもらいます
0985デフォルトの名無しさん
2017/01/21(土) 14:27:04.70ID:s6Ci3q5Wありがとうございます,正常に動くようになりました
今度からはそちらで質問させてもらいます
0986デフォルトの名無しさん
2017/01/28(土) 19:46:33.43ID:Zf418MWM> 570 : Name_Not_Found2017/01/27(金) 16:24:15.01 ID:???
> eval()について詳しくなんでもいいから
ES3 http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/15-1_Global_Object.html#section-15.1.2.1
ES7 http://www.ecma-international.org/ecma-262/7.0/#sec-eval-x
ES LS https://tc39.github.io/ecma262/#sec-eval-x
MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval
0987デフォルトの名無しさん
2017/01/29(日) 15:12:16.35ID:CHlx9RpShttps://risingstars2016.js.org/ja/
JavaScriptコミュニティは日々進化しています。今日のトレンドも数か月後には陳腐化しているなんてことは日常茶飯事です。
2016年は終わってしまいましたが、何か重要なことを見逃したのではないかと感じているそこのあなた! 2016年の主要なトレンドをおさらいして、そんな不安を払拭しちゃいましょう。
過去12か月に獲得された Github のスター数を比較して、2016年に支持を集めたプロジェクトを数値に基づいて評価していきます。
2015年はなんといっても React でした。そして、Flux 実装を席巻したのは Redux でしたね。 2016年、JavaScript の人気プロジェクトはどのようなものだったのでしょうか?
0988デフォルトの名無しさん
2017/01/29(日) 15:34:26.52ID:0VLffaoKGithub のスターはブックマークにすぎないんだから
人気プロジェクトの指標にはならん
そこで紹介されている下のほうがまともなデータだな
http://stateofjs.com/2016/introduction/
例えば、フロントエンドフレームワーク
http://stateofjs.com/2016/frontend/
Vueなんて全く使われてなくて
ReactがVueの5倍、Angularが3倍使われてる
テスト
http://stateofjs.com/2016/testing/
当然のごとくMochaやJasmineが一番使われてる。
Ava?Jest?なにそれw
0989デフォルトの名無しさん
2017/01/31(火) 19:22:55.55ID:n4DQf77M0990デフォルトの名無しさん
2017/02/03(金) 12:39:42.93ID:WkcYvCVV3を選択し、かつ次に2を選択したときだけドロップダウンリストの
項目を強制的に""にするスクリプトを組みたいのですが、どうすればいいでしょうか?
0991デフォルトの名無しさん
2017/02/03(金) 13:36:03.89ID:GW4ZA3Nl0992デフォルトの名無しさん
2017/02/03(金) 16:02:26.99ID:DKCwNfD0質問する場所をweb制作板と間違えてるよ
0993デフォルトの名無しさん
2017/02/03(金) 17:50:24.30ID:OZdxyk8U0994デフォルトの名無しさん
2017/02/03(金) 19:55:50.66ID:CYSEj/nA0995デフォルトの名無しさん
2017/02/03(金) 21:05:28.79ID:c/3M2MXW+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1482325013/
0996デフォルトの名無しさん
2017/02/03(金) 21:05:56.21ID:c/3M2MXW0997デフォルトの名無しさん
2017/02/03(金) 21:06:12.15ID:c/3M2MXW0998デフォルトの名無しさん
2017/02/03(金) 21:06:32.76ID:c/3M2MXW0999デフォルトの名無しさん
2017/02/03(金) 21:06:52.71ID:c/3M2MXW1000デフォルトの名無しさん
2017/02/03(金) 21:07:19.52ID:c/3M2MXW+ JavaScript(ECMAScript)質問用スレッド vol.123 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1482325013/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 158日 19時間 43分 55秒
レス数が1000を超えています。これ以上書き込みはできません。