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

■ このスレッドは過去ログ倉庫に格納されています
2018/04/16(月) 00:09:43.45ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
2018/04/28(土) 18:43:04.99ID:???
>>172のパクリ?
2018/04/28(土) 19:06:05.21ID:???
アンカくらいつけろよ無能
2018/04/28(土) 19:34:59.86ID:???
あんか(行火)は炭火、電気ヒーター、化学発熱体等を内蔵した
一人用可搬型の採暖用保温具。 布団などに入れ直接手足に当てて
暖をとる暖房器具である。 地域や世代によっては
「こたつ」「足炬燵」と呼ばれることもある。
2018/04/28(土) 19:45:59.98ID:???
はいはいおもしろいおもしろい
2018/04/28(土) 20:15:25.53ID:???

199Name_Not_Found
垢版 |
2018/04/28(土) 20:24:14.55ID:npVPEEtd
>>192
関数内からしかアクセスできない
有り無しは個人の判断、自分で判断しろ
2018/04/28(土) 20:32:01.16ID:???
>>193
いえクロージャは知ってます

>>199
じゃあアリにします
ありがとうございました
2018/04/28(土) 20:35:30.10ID:???
>>192
なしだろこんなの
意味不明
2018/04/28(土) 20:38:10.17ID:???

2018/04/28(土) 20:59:34.26ID:???
他人がどういうコード書こうと批判する気は無いけど

>だとしたら関数にstatic変数を持たせるのに都合がいいですが

これはちょっとわからない
204Name_Not_Found
垢版 |
2018/04/28(土) 21:24:58.02ID:npVPEEtd
>>203
hoge.foo = 1; とか、したいんじゃない?
a.foo = 1; でも出来るから意味不明だけど
2018/04/28(土) 21:52:42.23ID:???
>>204
この場合の自関数名は読み取り専用
自前でhoge.foo = 1; できるから、ではなくて
「関数にstatic変数を持たせる」という目的に、この場合の自関数名が関係しない
なので意味がわからない
206Name_Not_Found
垢版 |
2018/04/28(土) 22:19:46.07ID:npVPEEtd
>>205
正直に言うと、後段の部分は俺も理解してなくて、質問者本人が判断すれば良いから投げた
突っ込みどころを出せば、キリがない

- 関数名の参照はスコープからの参照だよな?Function#nameは外のスコープからも参照可能だが、関係ないよな?
- そもそも、static変数はクラスのためのものだが、どういう用途を想定してるんだ?
- つか、JavaScriptにstatic変数はないが、Java定義の認識でいいのか?
- sratic変数は外のスコープから参照可能だが、スコープ上で関数への参照が閉じ込められる性質とどう組み合わせるんだ?
2018/04/28(土) 22:27:36.73ID:???
自分はCのstaticの意だと解釈した
2018/04/28(土) 22:37:23.05ID:???
>sratic変数は外のスコープから参照可能だが

typoは無視するとして、>>192もそうだがprivateとごっちゃになっている気がする
staticはstatic
2018/04/28(土) 22:44:14.05ID:???
妄想に論理性を求めるのは無駄というもの
2018/04/28(土) 22:52:41.12ID:???
ふぅ、こんなピリピリした話をしてるなら
いつものようにjQueryの話題で盛り上がっていたほうが良いな
2018/04/28(土) 22:59:25.11ID:???
俺はSPAの実際のところが気になる

できるかどうか、難易、フレームワーク云々、以前にSPA必須な案件にまったく遭遇しない
2018/04/28(土) 23:06:03.45ID:???
普通のサイトがSPA取り入れても
違和感が出るだけだしな。

クリックしたらページが変わるだろう所で変わらないから
違う、そうじゃないって思っちゃう
2018/04/28(土) 23:23:14.82ID:???
そんなもんトランジションアニメーションさせればいいだけの話。
アドレスバーのurlも自由自在よ。
2018/04/29(日) 00:13:40.97ID:???
そこまでしてSPAにこだわるメリットがない
2018/04/29(日) 00:29:00.58ID:???
>>192
あたまよさそうだねきみ
後学のためにどういう風に使うのか具体的な事例とコードよろしく
2018/04/29(日) 12:00:52.31ID:???
>>208
そんなわけないでしょう
privateの意味分かってますか?
2018/04/29(日) 12:50:16.42ID:???
>>215
$(document).on('click', '#hoge', function f(e) {
if (!f.fadeout) {
f.fadeout = _.debounce(() => {
$('#moge').fadeOut();
}, 10000);
}
// いろいろな処理
f.fadeout();
});

こんな感じに、関数の中から同一オブジェクトにアクセスしたい場合に使います
fadeout開始するまでの待ち時間に再び呼び出された時には
前回のfadeout予約がキャンセルされるような関数を、lodashのdebounceで作っています
jqueryのdelayとstopで同じことをしようとしたのですが何故かうまくいかなかったので。
これが唯一の実装方法でないのは当然ですが、複雑さを関数の中だけに閉じ込めるのがシンプルで好みです
もっといい方法ありますか?
2018/04/29(日) 13:30:10.24ID:???
>>192で言ってることをどこでつかっとんそれ?
2018/04/29(日) 14:54:33.07ID:???
イベントは、発行/購読パターンが基本

Mediator もある。
仲介者、まとめ役、橋渡し役、管制塔

イベントキャンセルできるイベントキューのライブラリは、
オライリーの著者などの、外人が作っている

自分で作ったら、複雑すぎて大変

Stoyan Stefanov 著
JavaScriptパターン ―優れたアプリケーションのための作法、2011
オブジェクト指向JavaScript、2012

JavaScriptデザインパターン、Addy Osmani, 2013
2018/04/29(日) 17:08:55.60ID:???
setTimeoutの戻り値を自関数の中で管理するだけで済むように見えるんだが、こういう挙動が欲しいのではないのか?

document.getElementById('mybutton').addEventListener( 'click', function f(){
  var delay = 3000;
  if( ( 'timeoutId' in f ) === false )
    f.timeoutId = false;
  if( f.timeoutId !== false )
    clearTimeout(f.timeoutId);
  f.timeoutId = setTimeout( function(){
    f.timeoutId = false;

    /* my oparation */

  }, delay );
}, false );

目印は別にfalseでなくてもいいが
2018/04/29(日) 17:13:42.83ID:???
>>218
何を言っているのか分かりません
2018/04/29(日) 17:15:23.82ID:???
>>221
関数「名」は、予約&予約キャンセルの仕組みには、一切関係ないではないか
ということだと思うが
2018/04/29(日) 17:15:50.11ID:???
>>220
setTimeoutの返り値でキャンセルするっていうのは当たり前の話です
わざわざ複雑にした処理をドヤ顔で書ける神経が分かりません
2018/04/29(日) 17:16:45.71ID:???
>>223
目的の挙動はこれで合っているのか間違っているのか、だけが欲しい
2018/04/29(日) 17:17:08.29ID:???
>>222
いや、だから何????
そんな話誰してないだろ???
2018/04/29(日) 17:18:56.35ID:???
>>224
いやだから、何でわざわざ無駄に複雑にした処理を検討しなきゃいけないの???
甘えすぎじゃね???
2018/04/29(日) 17:19:32.79ID:???
>>225
>この関数名は、関数内からしか参照できないのでしょうか?
>だとしたら関数にstatic変数を持たせるのに都合がいいですが、

「関数名」を「参照できる範囲(private性)」について、「だとしたら」で繋いでいるから
2018/04/29(日) 17:19:55.84ID:???
・・・・これ複雑か?
2018/04/29(日) 17:21:24.64ID:???
質問スレにはままあることですが
回答者に回るレベルに至っていない連中がちょっと回答者に回りすぎでは?
もう少しわきまえて下さい
分かりましたね?
2018/04/29(日) 17:21:42.89ID:???
>>226
合っているのだな
2018/04/29(日) 17:22:11.32ID:???
>>228
ええ、無駄に複雑ですね。無駄に。
2018/04/29(日) 17:28:47.28ID:???
$('#hoge').on('hoge',(e)=>{
console.log('hoge');
});

$(document).trigger('hoge');

このように上位要素でtriggerしても下位の要素で受け取ることは出来ません
上位で受け取ってコールバックするような機構が必要だと思いますが
どうやるのが定石なのでしょうか?
233Name_Not_Found
垢版 |
2018/04/29(日) 17:45:58.89ID:e1YEqCos
>>221
は?
何を言ってるか分からんてアホ?
>>192で言ってることをどこで使ってるか説明してって言ってるだけなんだが?
使ってないってこと?
2018/04/29(日) 17:50:40.94ID:???
>>229
バカが回答をりかいできなくて逆ギレしだすのも質問スレにはよくある
2018/04/29(日) 17:52:00.36ID:???
結局>>192をどうつかってるのか分からんだよね
2018/04/29(日) 17:52:24.38ID:???
>>232
jqueryスレへどうぞ
2018/04/29(日) 17:54:55.27ID:???
> 関数外部からhoge();
> としたらエラーになります

こことかpublic/privateの話だよね
2018/04/29(日) 18:17:39.97ID:???
>>235
192はアホすぎて使いようがいない印象をうける
だからこそどうやって使うのかにはかなり興味あるのだがそれは示せないだろう
2018/04/29(日) 18:19:11.61ID:???
>>232
意味が分からん。

$(document).trigger('click')ってやったら、
HTMLに含まれる全てのボタンやリンクに対して
クリックされたというイベントを発動させたいのか?
2018/04/29(日) 23:26:04.99ID:???
>>217
たしかにどこが複雑なのかも分からん
我流じゃなくて関数型の勉強したほう良いと思う
2018/04/30(月) 02:27:12.24ID:???
うっせかす
俺より底辺共が生意気言うなぼけ
2018/04/30(月) 07:42:58.80ID:???
簡潔で非ライブラリ依存なコードをあっさり提示されてて草
2018/04/30(月) 08:54:29.58ID:???
>>242
何の話?
2018/04/30(月) 09:26:53.31ID:???
わからんね。簡素じゃなくて冗長なクソコードなら
>>220にあるけどそれのことかな?w

なにがクソかというと無駄なことしてるから。
clearTimeoutが無効な値を渡しても例外でないのは保証されてるのだから
>>220はこれだけでいい。これがクソコードである根拠
やらなくて良いことをやるのは丁寧なのではなく単に無駄なだけ

document.getElementById('mybutton').addEventListener( 'click', function f(){
  var delay = 3000;
  clearTimeout(f.timeoutId);
  f.timeoutId = setTimeout( function(){
    /* my oparation */
  }, delay );
}, false );

そしてもちろんこれはライブラリを使えば、もっと簡素に実現できる

$('#mybutton').click(_.debounce(function() {
 /* my oparation */
}, 3000));

非ライブラリのコードも簡素に書けないやつが、
ライブラリよりも簡素に書けるとか言わないほうが良い
恥をかくだけだぞw
2018/04/30(月) 09:38:55.23ID:???
>>217
単に_.debounceの使い方が良くない

_.debounce は オリジナルのイベントハンドラを
遅延実行機能付のイベントハンドラに変えるもの
と考えたほうが良い

そこに書いたコードは、これだけでいい

$(document).on('click', '#hoge', _.debounce(function() {
  $('#moge').fadeOut();
  // いろいろな処理
}, 3000));

jQueryのstopはよく分からんね。俺もアニメーションはあまり使わないので。
俺が言えることは今はCSSを使ったほうが良いということぐらいだろう

stopだけで単体で実行したらキャンセルされるが、stop().delay()みたいに
続けるとキャンセルできないアニメーションのキュー(?)の絡みの仕様なんだろうけど

ドキュメントにも、setTimeoutを置き換えるものじゃないと書いてあるので
https://api.jquery.com/delay/
setTimeoutをそのまま使うか、lodashでラップされた関数を使うほうが良いのだろう
2018/04/30(月) 09:41:25.07ID:???
やっぱり俺がいないとスレのレベルが下がるなw
jQueryを使ったコードだけでなく、
ネイティブのコードもね
2018/04/30(月) 10:15:48.14ID:???
>>244
旧泥でclearTimeoutにundefinedを渡すとエラー吐くことがあった気がするが
nullや、あと確かfalseだとエラーを吐かない

LS仕様ではdo nothingと決められていることや
ライブラリではその辺の扱いを別所で定義しているから行数が減ることは間違いない
見て読みやすいコードは無駄ではないことも間違いないとは思うが
248247
垢版 |
2018/04/30(月) 10:21:17.97ID:???
今ちらっとlodashのgithubを見てきたがdebounce.jsのcancelで以下のように確認を入れてから
cancelTimerでclearTimeoutしているところから見ても、少なくとも無駄ではないと思う
というより、事前確認が無駄ならlodashのこの記述も無駄になるような

if (timerId !== undefined) {
cancelTimer(timerId)
}
2018/04/30(月) 10:27:39.80ID:???
>>247
そういうことを考慮したとしてもこれだけですむ
冗長なことに変わりはないよ

document.getElementById('mybutton').addEventListener( 'click', function f(){
  var delay = 3000;
  if (f.timeoutId) clearTimeout(f.timeoutId);
  f.timeoutId = setTimeout( function(){
    f.timeoutId = undefined;
    /* my oparation */
  }, delay );
}, false );
250247
垢版 |
2018/04/30(月) 10:46:15.44ID:???
>>249
clearTimeoutに渡す内容の確認はクソコードかつ無駄ではなく必要なものだったと
認めたということで良いかな

初期化は好み次第だと思うけどね
javascriptではプロパティは事前定義しなくてもいいというのは正直どうかと思うところがある
2018/04/30(月) 10:51:32.04ID:???
いや? 無駄だよ。
意味があるというのならその証拠をどうぞ
2018/04/30(月) 10:56:25.11ID:???
こんな木っ端の作法で云々言うのやめようよ
2018/04/30(月) 10:57:24.46ID:???
jq兄貴lodashを否定してしまう
2018/04/30(月) 10:57:57.08ID:???
せやねw

最終的な答の簡潔さに比べれば
そんな問題考えるだけ無駄

$(document).on('click', '#hoge', _.debounce(function() {
  $('#moge').fadeOut();
  // いろいろな処理
}, 3000));
2018/04/30(月) 10:58:33.72ID:???
この流れで認めるとこはビシっと認めたらかっこよかった
2018/04/30(月) 11:01:33.09ID:???
どこかの誰かと違って、ライブラリ最高って言ってるわけじゃないんだから
ライブラリにも無駄なところはあるよ。(はい、ビシッと認めましたよ?w)
だからこそライブラリはバージョンアップし続けてるんだろう。
2018/04/30(月) 16:37:45.33ID:???
解釈の原因は解釈者自身の固定観念。解釈の自由には責任が伴う
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左

感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
2018/04/30(月) 17:47:37.77ID:???
レベル低い人ばっかりですね。
面倒くさいのでレベル低いだけで私のコード理解できないとかいう人はレスしないでもらえますか?
2018/04/30(月) 18:20:09.86ID:???
コテ付けて貰えば最初から近付かないよ
2018/04/30(月) 19:08:04.78ID:???
>>259
何を言ってるんでしょうか?
自分でレベル低いってのは認識してるとおもうので
貴方みたいなレベル低い人はそもそも回答なんてしなければいいだけじゃないのでしょうか?
2018/04/30(月) 19:21:10.31ID:???
>>260
自称高レベルの君が書いたコードはどれなの?
2018/04/30(月) 19:37:40.07ID:???
>>261
バカなのですか?
あなた達が低レベルが理解できないとかいってるコードがそれですよ
聞かないとわからないほど低レベルなんですか?
私は誰でも名前をしってる会社で働いてるんです。
あなた達とはレベルガチがすぎる。
まさか5chがここまでレベル低いとは思わなかったのですが
もうこんなとこ来ません。
2018/04/30(月) 19:48:06.51ID:???
モウコネーヨ懐かしい
2018/04/30(月) 19:52:39.35ID:???
有難い
2018/04/30(月) 19:59:30.21ID:???
ウワァァン
2018/05/01(火) 09:27:21.96ID:???
初めてのandroidアプリ開発でSPA使っちゃった(cordova)けどまずかった?
267Name_Not_Found
垢版 |
2018/05/01(火) 18:20:10.76ID:l1wYHpV1
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

IZRJV
2018/05/01(火) 20:41:26.09ID:???
>>249
そんなこと気にしだしたらidがオーバーフローしてないかとか
万が一doubleの整数部分超える実装になってたらどうするのかとか
ほんとキリがないゾ

余計な懸念は捨てて少なくともここに提示するコードは最小限のものにしようヤ
パッチは実際テストで問題出てからでいいじゃん
今や6ヶ月毎にブラウザは更新されるんだから同じバグがいつまでもあるものではないシ
反対に新しいバグがその時に出てきてるかもしれないんだからサ
2018/05/01(火) 20:42:37.27ID:???
❌6ヶ月

🔴6ヶ週
2018/05/01(火) 21:31:49.76ID:???
>>266
全然というかSPAはあくまでもwebアプリに対する概念
普通cordovaでページ遷移は付けない
2018/05/02(水) 06:34:20.39ID:???
そんなことはない
Google検索とかもSPAのうち
2018/05/02(水) 10:46:33.03ID:???
https://lodash.com/docs/4.17.10

このlodashのドキュメントページが読み込み中になったまま固まるのですが自分だけでしょうか?
2018/05/02(水) 12:11:38.84ID:???
おまえだけ
2018/05/02(水) 13:55:52.37ID:???
ありがとうございました
2018/05/02(水) 13:58:47.38ID:???
class構文において
staticなメソッドはstaticキーワードをメソッド名に置くことで実現できますが
staticなプロパティはどうやって実現するのでしょうか?
2018/05/02(水) 13:59:25.54ID:???
×メソッド名に
○メソッド名の前に

でした
2018/05/02(水) 16:45:45.01ID:???
クラス名.プロパティ名
2018/05/02(水) 17:42:21.32ID:???
lodashのuniqueIdって、PHPのuniqidみたいな、
まずバッティングしないIDを生成するものかと思っていたのですが
ただ連番を返すだけのもののようです・・
PHPのuniqidみたいなIDが欲しい時にはどうやるのでしょうか?
2018/05/02(水) 20:10:58.91ID:???
>>277
確かにそれで出来るのですが、どこで初期化するのかが問題です
初期化用staticメソッドを用意して外から呼ぶか、
コンストラクタからそれを最初の一回だけ実行するとかでしょうか?
2018/05/02(水) 22:23:57.87ID:???
class Hoge {
}
Hoge.initialize();

みたいにクラス定義のすぐ下に書くことにしました
これもイケてないですが、イケてるやり方なんてなさそうなので・・
2018/05/03(木) 16:42:00.63ID:???
殆どの場合 static get method ( ) { } で済むでしょ
それかES2019まで待つか
2018/05/03(木) 17:12:10.95ID:???
get set追加したんならoperatorも追加してほしい。
以上、混沌を望むものより。
2018/05/03(木) 17:13:49.42ID:???
hoge.js
(function(){/* hogehoge */})();
fuga.js
(function(){/* fugafuga */})();

みたいに分けてグローバル汚染を回避しつつモジュールみたいにして管理したいんですけど
export/importみたいなのっていつ頃標準化?されるんでしょうか
2018/05/03(木) 17:36:57.46ID:???
標準化はもうされてるだろ。
ブラウザ実装情況はここでも見ろ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/export
2018/05/03(木) 17:37:05.55ID:???
>>283
されてる
但しIEには何も期待するな
2018/05/03(木) 17:46:16.04ID:???
>>282
提案はずっと前から色々あるぞ
まずbigintが追加されたでしょ、その後はnumberの拡張が来る
n = 1px + 2em
みたいに書けるようになるってこと

だけどそれ以上はまだ目処がついてないかな
でもそのクラスのインスタンスがvalue proxy的なものになるんだと考えると
混沌ではなくむしろ比較的自然でシンプルだし、そういう流れで行くかもね
2018/05/03(木) 18:01:57.47ID:???
>>284-285
ローカルだとセキュリティやら何やらでできないみたいですね
サーバーにアップしたらいけました
ありがとうございます
2018/05/03(木) 20:51:06.15ID:???
export default class {
constructor(x,y){
this.x=x;
this.y=y;
}
sum(){
return this.x+this.y;
}
}

こういう宣言をしていて、classのブロックの中ではなく
別のところにsum関数を(ES6で)書き加えたい時ってどうすればよいのでしょうか
2018/05/03(木) 20:52:25.15ID:???
補足
>別のところ
export default class{
constructor(){}
}
sum(){}

みたいな感じです
2018/05/03(木) 21:04:14.07ID:???
別のところ、ってどこで誰が使う想定なのか
2018/05/03(木) 21:14:47.36ID:???
const Hoge = function(){}
Hoge.prototype.sum = function(){}

みたいに、単にこういう風に書けるのだろうか
と思っただけです >>290
書けなくても特に問題ないです
2018/05/03(木) 22:18:11.57ID:???
classは単なる糖衣構文だし
default exportに名前をつけちゃいけない決まりはないから
export default class Hoge{
constructor(){}
}
Hoge.prototype.sum = function(){}
みたいのは可能なんじゃないの(ごめん試してないです)
2018/05/03(木) 22:59:33.23ID:???
>>292
最初はdefaultもなしでexport class Hogeで、prototypeで追加してたのですが
なんとなくES6で書き加えたい(統一したい)なと思ったのです
あとは、import先で汚染した(や被り気味の命名など)と気づいたとき
export先と行ったり来たりするのがめんどうかなと思い
あえてdefaultのままにしました
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況