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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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/
0809デフォルトの名無しさん2016/12/02(金) 13:57:08.34ID:lwDfhxMF
>>808
血が繋がってる云々は、元発言者の発言ではない
あと、お前以外は大体なんのこといってるかわかってる
0810デフォルトの名無しさん2016/12/02(金) 21:30:01.22ID:Y0rnRsuL
「大体」 って、なんか曖昧な感じでちょっと良くないと思うなぁ
0811デフォルトの名無しさん2016/12/02(金) 22:03:00.38ID:tqwX+tIq
全員何のこと言ってるかわかってるって
言っていいと思うよw
0812デフォルトの名無しさん2016/12/02(金) 22:45:13.80ID:7KiF/zbr
>>809
だから、質問者以外が憶測でものを語り過ぎといってるんだよ
0813デフォルトの名無しさん2016/12/03(土) 02:24:14.51ID:1XG4MZmv
誰か答えてやれよ

>>787
windowオブジェクトが取れないならpostMessageはたしかできない
そもそも同一ドメイン(厳密にはオリジン)なら目的にもよるがCookieやlocalStorage、iframeなんかも制限ゆるく使える
0814デフォルトの名無しさん2016/12/03(土) 05:01:50.15ID:SlvstEBQ
>>813
次レス>>788で答え出てるじゃん。
0815デフォルトの名無しさん2016/12/03(土) 08:26:46.93ID:DMuEuKTJ
質問者は雲隠れしてるし、回答する必要はないのでは
それと、ECMAScriptの質問ではないし
0816デフォルトの名無しさん2016/12/03(土) 08:52:02.02ID:kCSsmmVz
>>787
BroadcastChannel 使えばいけるのでは?
https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-browsing-contexts
0817デフォルトの名無しさん2016/12/04(日) 18:07:27.84ID:DmbMEkfK
vue.jsのイベントハンドラで、
keyupがCtrlとEnter同時押しの場合メソッド実行、ってどう記述すればいいんでしょう

漁っても見つかりませんでした。
0818デフォルトの名無しさん2016/12/04(日) 20:20:50.75ID:+/vGZpO/
>>718
ここの内容を理解してれば書ける
https://jp.vuejs.org/v2/guide/events.html
後はメソッド作ってそこでctrlKeyが押されたか素のjavascriptで書けばおk
0819デフォルトの名無しさん2016/12/04(日) 20:57:20.70ID:ObsZQ3a0
>>818
お前がマヌケなことはよくわかったよw
0820デフォルトの名無しさん2016/12/05(月) 14:41:47.17ID:py+X8wbm
関数の引数で、数値変数を参照渡ししたいんだけど どうすればいいかな
0821デフォルトの名無しさん2016/12/05(月) 15:08:03.07ID:pSDwKct5
数値・文字列などは、オブジェクトではなく、primitive なので、
書き込み不可能な値だけが、直接、埋め込まれている

オブジェクトではないので、参照・アドレスなどは存在しない。
値しか存在しない
0822デフォルトの名無しさん2016/12/05(月) 16:03:02.66ID:py+X8wbm
>>821
そこをなんとか
裏技とか無いかな
0823デフォルトの名無しさん2016/12/05(月) 16:33:21.44ID:8BrnA5VP
配列変数で渡せないのかな?
ダメなら、jsonみたいに特定の区切り情報を間に挟んだ文字列にするとか。
0824デフォルトの名無しさん2016/12/05(月) 16:42:52.62ID:ANvwzotj
数値を参照渡ししたくなる時点で設計がおかしいから見直した方が良い
どうしても必要なら>>823
0825デフォルトの名無しさん2016/12/05(月) 17:15:20.81ID:Oi3oGEbA
>>822
数値に何を求めているかにもよるが、new Number で大体の要件を満たせる。
valueOfを動的に書き換えれば値を書き換え可能。
0826デフォルトの名無しさん2016/12/05(月) 18:16:52.64ID:py+X8wbm
>>825
すばらしい
ありがとう
超助かりそう
0827デフォルトの名無しさん2016/12/05(月) 19:24:44.97ID:eUg7PlUS
なんか勘違いしてるぞ。
何度も色んなスレで話されてきたことだが、JSに参照渡しはない。
オブジェクトもプリミティブも共有渡し、もとい参照の値渡しだ。
0828デフォルトの名無しさん2016/12/05(月) 20:05:18.10ID:8BrnA5VP
Objectのnew・deleteでGCが発生しないって事かな?

作ってみたいモノが有るから、そのうち試してみるか。
0829デフォルトの名無しさん2016/12/05(月) 21:34:32.19ID:PskkFbSl
>>827
気づいてないのかもしれないが、
「参照の値渡し」のことを参照渡しって言ってるんだよ。
0830デフォルトの名無しさん2016/12/06(火) 10:27:08.35ID:jq2pL0Pu
>>829
色々と不便だからそうやって呼ぶのやめたほうがいいよ
0831デフォルトの名無しさん2016/12/06(火) 16:50:09.05ID:VokRQswW
vueの質問はここでいいのか?
0832デフォルトの名無しさん2016/12/06(火) 18:31:18.40ID:NfACm7RT
そもそもESの仕様にはGCに関する記述はWMを除いて無く、
値は新しく作られることしか無い
値が複製されることもなくて、新しい名前が付けられる(共有渡し)
0833デフォルトの名無しさん2016/12/06(火) 18:33:38.21ID:Vi6knW7G
CGの仕様がないって事は循環参照で死ぬ参照カウントの可能性もあるって事?
0834デフォルトの名無しさん2016/12/06(火) 23:39:32.25ID:NfACm7RT
どんな可能性だってあるし、別にGCがなくてもESの仕様は満たすということ
0835デフォルトの名無しさん2016/12/07(水) 19:31:41.28ID:Medm3i/E
普段はPython書いてるんだが、今さらながらjsに手を出してみた
Angular2使ってみたんだがReactの方がスマートに思えてきた
どっちの方がおすすめ?
0836デフォルトの名無しさん2016/12/07(水) 19:56:56.70ID:U/KBvqO4
vue.js
0837デフォルトの名無しさん2016/12/07(水) 20:51:25.77ID:BFSqyyg7
>>835
どんなアプリ作る予定?React触ったことないがAngular2はSPA作るのには良くできてると感じた。小規模アプリならオーバースペックではあるが。
0838デフォルトの名無しさん2016/12/07(水) 21:15:03.09ID:FEJU8uYA
>>835
ウェブサイトを作る・・・HTML + CSS + jQuery
業務系アプリ(エクセルっぽい画面でデータを弄る)を作る・・・Angular
グラフィカルアプリ(いろいろなコンポーネントを作る)を作る・・・React
ゲーム・・・どれでもない
0839デフォルトの名無しさん2016/12/08(木) 20:38:15.49ID:DwX5bf/v
なんかbabelとかwebpackとかそういうプロジェクトの準備でパッケージをインストールするだけで50MBも消費するんですが
これをプロジェクトごとにインストールするのって無駄ですね
20プロジェクトで最低1GB消費するとかすごいですね
globalにインストールしても結局package.txtに書いて
0840デフォルトの名無しさん2016/12/08(木) 22:35:19.76ID:W+Mdrq4F
>>839
20プロジェクトあったとして1つのプロジェクトで
パッケージのバージョンを上げた時
他のプロジェクトでもバージョンあがってしまっても大丈夫?

っていう質問に、大丈夫に決まってるだろって
答えられるやつだけが、無駄っていう資格があるんだよ
お前にその資格はねーだろ?w
0841デフォルトの名無しさん2016/12/09(金) 00:03:55.69ID:GYMahviX
ちょっと違うような。
上がってしまっても大丈夫なようなものでもローカルにみんな持ってるってことでしょ。
ローカルに持つならきちんとバージョン指定すべきだけど、そうじゃないパッケージも多い。
そうじゃないのなら(特定のバージョンでないと絶対に困るのではないのなら)
グローバルを利用するようにすべきで、そうでないのは無駄だろうよ。
0842デフォルトの名無しさん2016/12/09(金) 00:46:44.84ID:EsSFcgle
>>839
パッケージの定義だけ残して消せばいいんじゃないの?そのための管理ツールでしょ。必要になったらコマンド叩けば復元できるわけだし。
npmもvagrantも設定ファイルだけ残して全部消してるよ。
0843デフォルトの名無しさん2016/12/09(金) 12:48:43.40ID:5/1+VZyq
package.txtにlocalとglobalのパッケージをまぜてかいてるんですけど
npm upするとglobalに置いてるけどlocalにはないパッケージをインストールしてしまいます
localにあるパッケージだけupdateするほうほうないですか?
0844デフォルトの名無しさん2016/12/09(金) 19:37:55.50ID:HbVE2MYn
>>118
今更だけど、なにがすごいのよこれの。
jQueryのdata Tableとかfootableとかこういうのいくらでもあるよ
0845デフォルトの名無しさん2016/12/10(土) 17:06:30.30ID:qLBvM9gz
vue.jsの環境構築で
「Unexpected token import」というエラーが出てきます。

import App from './App';

下記のように修正するとエラーは出ないのですが、これは何故でしょう?
var Vue = require('vue')
0846デフォルトの名無しさん2016/12/10(土) 17:08:40.15ID:CHdeaesN
babelを使ってないから
0847デフォルトの名無しさん2016/12/10(土) 20:00:47.38ID:z2dlQ4BE
下記のようなjavascriptが埋め込まれたhtmlがあります
新しいWebのウインドウを立ち上げるスクリプトです
今は下記のスクリプトが書かれたhtmlファイルをダブルクリックして現れるweb画像をクリックしてウインドウを
立ち上げるのですが、htmlのweb画像をダブルクリックするという過程を省略したいのですが出来ますか
新しいファイルを作ってそれをダブルクリックするといきなり新しいウインドウが立ち上がるようにしたいのです

script
//player popup
function wopen(){
win=window.open(httpwww.xxxplayer.php width=720,height=960)
}
/script
<a href=javascript:wopen()><img src=httpxxxjpxxx.gif class=xxx></a>

注:書き込み不可になるのでhttpwwwとか詰めて書いています
0848デフォルトの名無しさん2016/12/10(土) 20:02:25.98ID:z2dlQ4BE
<script></script>
が書き込み不可になるようです
0849デフォルトの名無しさん2016/12/10(土) 20:06:30.01ID:YyXkI5ew
JSDocってみんな使ってる?
オブジェクトの構成とかどうやって書けばいいのかわからん
0850デフォルトの名無しさん2016/12/10(土) 20:12:33.78ID:jVtN6n+v
>>847
>>1
※DOMはブラウザが提供しているものでありJavaScript(ECMAScript)の範囲外です。
なのでDOMを使ったプログラミングは原則としてこのスレの対象外です。
DOMはwindowオブジェクト(ブラウザのホストオブジェクト)経由で
参照するもので、window自体、window.document、window.Workerなどです。
これに関する話題はWeb制作板の下記のスレに移動してください。
0851デフォルトの名無しさん2016/12/10(土) 20:14:21.17ID:jVtN6n+v
>>>849
http://usejsdoc.org/を全部一通り読んでからスレに来てください
0852デフォルトの名無しさん2016/12/10(土) 22:41:32.19ID:YyXkI5ew
一通り読んできたけど、書いてなかったわ
0853デフォルトの名無しさん2016/12/11(日) 05:02:45.22ID:ncQazcOe
ECMAScript範囲外の話題は下記スレへ。

■関連スレ
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/

■このスレについて
このスレは「JavaScriptスレ vol.121」を乗っ取っろうとした荒らしがECMAScriptスレに改変して出来ているのでJavaScriptスレと勘違いしている人が多い。
事実上、「ECMAScriptデス 6」の代替スレのようなものだから次スレは「ECMAScriptデス 7」で立てることを推奨。
(「ECMAScriptデス 5」が落ちてから次スレは立てられなかった)
0854デフォルトの名無しさん2016/12/11(日) 10:43:25.79ID:nTv8AIQk
>>852
一通り読める奴はこんなところに質問しない
0855デフォルトの名無しさん2016/12/11(日) 15:29:55.89ID:8yi/uDpV
>>854
お前みたいな読めない奴には聞いていないんだ
ちょっと引っ込んでてくれないかな
0856デフォルトの名無しさん2016/12/11(日) 15:42:15.22ID:E18FGHma
そこで引っ込んだら本当に読めるやつだけになるだろう?w
それじゃ質問なんか誰もしない。
そんなスレはお断りだ
0857デフォルトの名無しさん2016/12/11(日) 15:56:32.55ID:jBEhBP0b
>>856
じゃあ回答しろよ

質問もしない、回答もしない、チャチャを入れるだけ
ならこのスレに来る理由もないだろ
ここじゃないどこかで体育座りしててくれ
0858デフォルトの名無しさん2016/12/11(日) 16:09:03.30ID:QckH61YD
ドキュメントも読まないバカはお引取り願います
0859デフォルトの名無しさん2016/12/11(日) 16:16:47.68ID:E18FGHma
>>857
答えられる質問であれば回答してるが?

お前俺にずっと回答だけしてろっていうのか?

じゃあ今お前がやってることは何だよ?
質問でも回答でもねーだろ

他人に質問か回答だけをすることを要求するのなら
まずお前が、質問か回答だけしろ。
自分で言ったことぐらい守れよ
0860デフォルトの名無しさん2016/12/11(日) 17:20:50.42ID:YgjsTwTx
>>849
JSDocってどんな時に使っているの?
自作ならば、自分の設計思想を基に記録残しながらやっていると思うけど。
0861デフォルトの名無しさん2016/12/11(日) 19:08:01.12ID:DMLZrwtt
>>849
オブジェクトの構成ってよく分からないけど、
単にオブジェクトごとにリファレンス作りたいなら
@namespaceってタグでオブジェクトごとに分離できる

/** @namespace foo */
var foo = foo || (function() {
// なんかメソッドいろいろ
/**
* @memberOf foo
* // いろんなタグ
*/
}());

/**
* // なんか説明
* @namespace foo.bar
*/
foo.bar = {
// なんかメソッドいろいろ
}

オブジェクト構成図が作りたいみたいな話なら、生成して
できるindex.htmlを自分でいじるしかないんじゃない?
自分はリファレンスとか整備するの好きなんで
自分用のポリフィルライブラリとかにシコシコ書いてる(´・ω・`)
0862デフォルトの名無しさん2016/12/12(月) 02:26:50.08ID:l2OsM7Pl
でもドキュメントを読まない普通の子ならOKです。
0863デフォルトの名無しさん2016/12/12(月) 10:41:43.84ID:YdV6j9Ia
>>861
/**
* うんこ
* @param {object} hoge
*/
function unko( hoge ){
console.log( hoge.chinko );
}

この関数では引数 hoge の中の chinko を使っています
というのを記述したいんです
0864デフォルトの名無しさん2016/12/12(月) 14:19:43.44ID:dCr75+tg
このコードが動くコンパイラを誰か教えてくれませんか
とりあえずbabelでは駄目でした

class MyColor extends Uint8Array{
 constructor(r=0, g=0, b=0, a=255){
  super(r, g, b, a);
 }
 get r(){return this[0];}
 get g(){return this[1];}
 get b(){return this[2];}
 get a(){return this[3];}
}
console.log(new MyColor());
0865デフォルトの名無しさん2016/12/12(月) 14:54:46.93ID:F302LMas
ためせばいいだろ数個しかないんだから
0866デフォルトの名無しさん2016/12/12(月) 18:18:55.38ID:rhAg00cc
>>863
そういった説明は普通に冒頭に書くだけなのでは(うんこと書いている部分)
自分もそういう説明は冒頭、あるいは@paramや@returnsのDescriptionに書いてます。
探して見つからない以上そういうタグもないでしょうし、自分も必要性を感じないです。
0867デフォルトの名無しさん2016/12/12(月) 18:23:34.65ID:snQzvIqt
真面目な文章の中にいきなりうんこって単語出てきて吹いたわ
流石2ch
0868デフォルトの名無しさん2016/12/12(月) 18:45:58.13ID:YdV6j9Ia
>>866
ありがとう。
明示的に書けたら、IDEの自動補完の対象にもできて
一石二鳥だよなァ と思っていたので、出来ないなら
ちょっと残念です。 うんこに書くようにしてみます。
0869デフォルトの名無しさん2016/12/13(火) 19:37:26.53ID:YAjnVVpg
>>864
クラスの継承、特にビルトインのそれはES5で完全にエミュレートできないんだから仕方がない。
そういうコードを書きたいのならもうピュアESで書くべき。
0870デフォルトの名無しさん2016/12/13(火) 20:01:34.52ID:YnqsBGxe
Babelくんが出るぞ。
なんせbabelで万事解決するらしい。
0871デフォルトの名無しさん2016/12/13(火) 21:07:36.85ID:iAtvyUgt
つーか釣り針ミエミエだろw
意図を見破られて逃げられてるぞ。
もっとうまくやれ。
0872デフォルトの名無しさん2016/12/13(火) 21:34:56.41ID:DVZ4mkli
>>864
TypeScript
0873デフォルトの名無しさん2016/12/14(水) 12:49:50.71ID:hfi6HCxW
もはやフロントエンドの仕事じゃなくなってるよな
0874デフォルトの名無しさん2016/12/14(水) 22:52:54.32ID:rsGVtDKV
だからここにスレたてたんだよ。
フロントエンドの話がしたいならWeb制作板に言ってくれ
0875デフォルトの名無しさん2016/12/15(木) 07:06:36.17ID:BawVZm9b
フロントエンドってウェブ制作に限らんだろ。
Electronしかり、Cordovaしかり、ReactNativeしかり、NativeScriptしかり。
babelがどうのと言う割に石器時代みたいな事言ってるんだな。
0876デフォルトの名無しさん2016/12/15(木) 12:11:19.86ID:THL1lN1o
react使ってるサイトは重い
qiitaやfacebookで5タブ開くとHDDカリカリうるさい
それなりのスペックのPCなら恩恵あるんだろうが低スペには重いだけのライブラリ
0877デフォルトの名無しさん2016/12/15(木) 14:50:50.45ID:q7exeZSN
メモリ3千円で1本増設して、それを丸々RAMディスクにして
仮想メモリとキャシュ置くようにすれば解決する話だよ。
CPUがPentiumDですとか言うなら別だが。
0878デフォルトの名無しさん2016/12/15(木) 21:27:18.19ID:B8ikKJQd
>>875
Electronか、Cordovaか、ReactNativeか、NativeScriptの
話をしてるならよそに行けとか言わんよ。

誰がいつそれらの話をした?
屁理屈言ってるんじゃねーよ
0879デフォルトの名無しさん2016/12/15(木) 23:18:16.98ID:BawVZm9b
>>878
誰がいつ、って俺が>>875でしたじゃん。それで流れが変われば良いなと様子見をするのではなく、けなされたと激高するのは無能な働き者だよ。

屁理屈はおまえだよwww
なんせ、Chrome最新版だとネイティブで動きます、って話と、フロントエンドの話は別で、って話、どうやっても矛盾してしまうんだから。
0880デフォルトの名無しさん2016/12/15(木) 23:33:14.23ID:B8ikKJQd
>>875以前で誰も話をしてないと認めちゃったw
0881デフォルトの名無しさん2016/12/16(金) 11:07:25.61ID:1IWVJy5M
>>875
フロントエンドの技術を使ったデスクトップアプリ作成周辺までフロントエンドに加えるのは違和感がある
0882デフォルトの名無しさん2016/12/16(金) 18:31:33.63ID:XkjBV45S
デスクトップアプリねぇ。それこそ単にオフラインWebページ開く
ショートカットの登録案内出すのは簡単だしねぇ。
0883デフォルトの名無しさん2016/12/16(金) 18:45:25.14ID:PNCZZxG5
違和感があるとか言われてもなぁ。
UWPとかに至っては、もはや他の何でもないレベルなんだし。
語義通りフロントエンドだし、フロントエンドの技術を使った、って時点でフロントエンドでは無いんだろうか。
0884デフォルトの名無しさん2016/12/16(金) 20:14:29.49ID:XkjBV45S
フロントエンドの人=?フロントエンド
0885デフォルトの名無しさん2016/12/17(土) 14:03:49.55ID:D8aTFaeL
<textarea>で改行のみしかされていない、というのを判定するにはどうすればいいでしょう?

.lengthではtrueされてしまいました…
0886デフォルトの名無しさん2016/12/17(土) 14:04:13.47ID:D8aTFaeL
スレ間違えました
0887デフォルトの名無しさん2016/12/17(土) 18:47:52.93ID:fWgqKda0
>>886
trimしてlength
0888デフォルトの名無しさん2016/12/17(土) 19:13:34.39ID:FVEXEISP
>>885-886
http://echo.2ch.net/test/read.cgi/hp/1478053599/313 で再質問したならURLを書きなされ
>887のように既出の回答が出てくる
0889デフォルトの名無しさん2016/12/18(日) 22:58:54.63ID:LlbVYW0V
結局末尾にはセミコロン要るのか要らないのかハッキリしてくれ
0890デフォルトの名無しさん2016/12/18(日) 23:05:17.59ID:KKAQOfJY
夏が来れば セミコロン
0891デフォルトの名無しさん2016/12/18(日) 23:22:26.84ID:T3p8SL26
JSではセミコロン要るよーってruby遣いの人に言ったら鼻で笑われたわ
0892デフォルトの名無しさん2016/12/19(月) 05:12:54.85ID:axdrvEtR
>>889
付けても付けなくても良いんだから、要るも要らないもハッキリは言えない
ただ好きにしたら良いと思う
俺は付けない
0893デフォルトの名無しさん2016/12/19(月) 09:20:58.32ID:5ETaAwZt
minifyしたらどうせ付く
0894デフォルトの名無しさん2016/12/19(月) 11:15:01.89ID:mMcAuoO3
okunokentaroとかいう高卒が最近調子に乗って賢そうなツイートしようとしてるけどてんでバカで笑ってしまう
0895デフォルトの名無しさん2016/12/20(火) 00:12:59.42ID:2loEwKbt
>>894
お前よりは賢そうだがな
0896デフォルトの名無しさん2016/12/20(火) 08:30:08.45ID:SjXx1bqt
あのカンガルーのAA
0897デフォルトの名無しさん2016/12/20(火) 08:42:09.52ID:fB91VH02
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
0898デフォルトの名無しさん2016/12/20(火) 10:45:01.39ID:aCHo98uD
ES6(ES2015)で、new 名前空間.クラス名() みたいなことってできる?
TypeScriptだと「module」使ってできるけど。
0899デフォルトの名無しさん2016/12/20(火) 10:58:27.96ID:MFk6FDSJ
それ、名前空間じゃないから
0900デフォルトの名無しさん2016/12/20(火) 11:06:35.25ID:aCHo98uD
で、できる? クラス名がぶつからない方法。new ○○.クラス名() みたいなヤツ。
0901デフォルトの名無しさん2016/12/20(火) 11:12:09.01ID:wd0c4Sl+
試せばすぐに分かることをなぜ聞く?
0902デフォルトの名無しさん2016/12/20(火) 11:25:05.48ID:aCHo98uD
わからなくて困ってるんで聞いてます。
----------------------------------
C#の場合、namespace ○○ { class MyClass {... で new ○○.MyClass()
Rubyの場合、module ○○ { class MyClass... で ○○.MyClass.new()
Swiftの場合、class ○○ { class MyClass... で ○○.MyClass()
TypeScriptの場合、module ○○ { export class MyClass {... で new ○○.MyClass()
PHPの場合、namespace ○○; class MyClass {... で new ○○\MyClass()
ASの場合、package ○○ { public class MyClass {... で new ○○.MyClass()
Javaの場合、....
----------------------------------
で、ECMAScript 2015 で new ○○.MyClass() ってできますか?
----------------------------------
(問題解決しないレスはいらないヨ)
0903デフォルトの名無しさん2016/12/20(火) 11:29:07.65ID:fAq+FOJm
やってみればわかるよ
0904デフォルトの名無しさん2016/12/20(火) 11:31:05.45ID:aCHo98uD
>>901
試せない、試し方がわからない=すぐに分からない だから聞いてる。
(いちいち、めんどくせーな)
0905デフォルトの名無しさん2016/12/20(火) 11:41:15.80ID:j9/nK/yZ
var Hoge = {
Foo: function() {
}
}
var foo = new Hoge.Foo()
でダメなん?
0906デフォルトの名無しさん2016/12/20(火) 11:52:46.18ID:N26jdoYe
>>904
試し方を聞いてないじゃん。
めんどくさいんじゃなくて、質問に横着しないで。

普通にnodeか何かか、chromeでF12でコンソール出せば試せるよ。

俺も
{
 name:{
  foo:function(){}
 }
}
で、やると思う。
0907デフォルトの名無しさん2016/12/20(火) 12:06:52.55ID:ZDgkmudg
>>906
そういうのが聞きたいんじゃないと思う。
要するに、ファイル分ければES2015+でもexport/import適切に使うことで可能なことを、
一ファイル中に幾つものモジュールを入れられないかということだろう。
具体的に言うと、自モジュール内ではMyClassでアクセスできて、
それを他モジュール内ではMySpace.MyClassでアクセスできるようにするための、
最もスマートな方法が知りたいのだろう。

結論から言うと、ネイティブexport/importを諦めて
CommonJSチックなのを利用するしか無い。
その時点でES2015+としてはスマートさに欠けるが仕方がない。
もしくは我慢して全てをファイル分けする。
0908デフォルトの名無しさん2016/12/20(火) 12:19:45.20ID:pjk6TxQO
>>907
>結論から言うと、ネイティブexport/importを諦めて
>CommonJSチックなのを利用するしか無い。
楽勝に出来るのに自信満々でウソをつくのか?

// HogeHage.js
class hoge {}
class hage {}

const HogeHage = { hoge , hage};
export default HogeHage;

//
import HogeHage from 'HogeHage';
new HogeHage.hage();
レス数が900を超えています。1000を超えると表示できなくなるよ。