元スレ+ JavaScript の質問用スレッド vol.142 +
JavaScript覧 / PC版 /みんなの評価 :
202 = :
>>199
配列のインデックス値と混同するからダメ等のローカルルールじゃないか?
203 = :
後の祭りだけど、ダメだけ覚えてダメな理由を覚えないのがダメなんだけどな…
varダメ、関数式ダメ...etc
思考停止で選択肢を潰してるだけ、ってことにいい加減、気が付くべき
205 = :
>>185-186
その都度、DOM にアクセスすると「JavaScript(JS)/DOM 間の時間 × 千回分」が掛かる
それを、JS内のDocumentFragment で、千回行ってから、
最後に1回だけ、DOMにアクセスするように変える
Vue.js も同じような仕組み。
JS内に、すべてのDOMのコピー(仮想DOM)を持っていて、
変更された部分だけを、実際のDOMに反映する
これの欠点は、速いが、メモリをDOMの2倍使うこと。
常に、速度と使用メモリ量は、取替えられる!
206 = :
>>204
>>186はリフローを理解して提案しているし、>>192でその件は解決してる
207 = :
えっ ID非表示スレでNGを?
208 = :
できらぁ!
209 = :
毎回質問一個あるたび関係ないとこで言い争うの草
210 = :
ここのあいさつみたいなもんだから
211 = :
>>207 には、 >>194 が >>186 や >>192 と同じ話題に見えてて安価先を間違えてるんじゃないかって提案してあげたのにレス乞食とは……
>>194 は固定フォントサイズじゃなくてむしろレスポンシブだし、それ言ったのにinnerWidthの代替がfragmentで解決しているだの返された
それでも穏やかに人違いじゃないかって提案してあげたのにレス乞食認定って怖い
212 = :
そもそもID非表示なのに主語書かずに指示語で喋ったら意思疎通厳しいだろ
214 = :
それは不明ですので、前提とそうでない場合の解答をお願いします
216 = :
偶数も奇数もどっちも整数なんだからそれ以外は全部NGでいいだろ。
両方整数でかつ足し合わせた値が奇数ならOKとか。
217 = :
218です
>>222 さんヒントありがとうございます
できました
219 = :
もっとすごいスッキリ書く方法知ってるけど質問者の態度が気に入らないので教えませんwwwww
220 = :
>>235
うーん、要望にマッチするか微妙だが一案として、
const escBQ = ({raw}, ...vals) => String.raw({raw: raw.map(s => s.replace(/BQ/g, '`'))}, ...vals)
みたいなテンプレート関数を作って、
escBQ`あああBQこんにちは
BQHello
よい朝BQ
BQ`
ってやれば文字列として
あああ`こんにちは
`Hello
よい朝`
`
が得られるよ。
221 = :
>>239
なるほど、フィルターしたほうが断然みやすそうですね
見た目だけの問題なのでBQのところを絶対に使わなさそうな(❝⚠❛みたいな)絵文字とか機種依存にしようかなと思いました
(副作用ありそうですが)
ありがとうございました
222 = :
>>238
>>230も質問者で、回答を釣るのに失敗したから、別人の体で出てきただけだと思う
226 :
>>235
このスレには、
>>230
みたいな荒らしがいるから、要注意!
質問に関係ないことで、言い争いをしている奴も、荒らし
227 = :
class Parent {
constructor(){
this.a=10;
this.b=20;
}
sum(){ return this.a+this.b; }
}
class Child extends Parent{
constructor(){
super();
this.a=2;
this.b=3;
}
}
var hoge=new Child();
console.log(hoge.sum());
super()ってなんで必要なんですか・・?
extendsする=ふつうはparentのメソッド使うからsuperする必要あります・?
228 = :
ふつうって?Java?
Javaでは要らないの?
229 = :
>>257
ありがとうございます!凄くよく分かります
(コンストラクタ).prototype.(プロパティ)に代入したときは、既に存在するプロトタイプオブジェクトのプロパティを変更するだけだから(インスタンス).constructorが(コンストラクタのプロトタイプオブジェクト).constructorなんですね
逆に(コンストラクタ).prototypeに直接代入したときは、プロトタイプオブジェクトとして(オブジェクト).constructorを持たず結果的にObject.prototype.constructorがプロパティconstructorとして参照されるんですね
231 = :
>>261
それJavaScriptやない、Javaや
232 = :
>>260
隠れてる間にビューを書き換える必要性は無いでしょ
233 :
>>266
別タブじゃなくて、別ウインドウだときちんと動作するのですが
それは、別のGUIアプリの扱いをしているからだと考えていいのでしょうか。
234 = :
もうそろそろブラウザ依存の話はやめてくれないか?
それはJavaScriptの話じゃない。
235 = :
>>267
何訳のわからないこと言ってんの
別タブだと描画する必要がないし、入力を受け付けることもないから、それらに関するイベントループがサスペンドされてるかイベントバブリングが抑制されてるんでしょ
別ウィンドウだと描画する必要が基本的にはあるという違いがあるでしょ
236 = 233 :
>>269
よくわかりました。ありがとうございました。
237 = :
classの継承って例えば
動物(親):ゾウ(子)、ライオン(子)、犬(子)
はしっくりくるんだけど
動物園(親):ゾウ、ライオン、犬
っておかしくない?
例えば、ゾウ.speak()→その動物の鳴き声
はわかるけど
ゾウ.count()→動物園にいるその動物の個体数
ってなんか違和感あるんだけど一体どうすれば
238 = :
>>271
まずな「例え」というのは何かっていうのが
わかってないやつが多い。
例えっていうのは、あることを知らない人に対して、
知ってるであろう他の概念を使って理解を容易にすることなんだよ。
例えは例えであって、本物じゃないんだから
本物との違いがあるのは当たり前
どうするかだって?どうもしなくていいよ。
例えで継承を理解したなら、ソフトウェア開発で必要なときに使えばいい
どうせそんな動物園、作るわけじゃないんだろ?
239 = :
>>271
ゾウは動物だけど、
ゾウは動物園じゃないだろ
おかしいなら、継承を使うのが間違いってことだ
240 = :
自分でfillMapとかのメソッドを作ったら良いだけでは?
241 = :
>>277
その例で言っても車クラスからハンドルインスタンスができるのは不自然
242 = :
>>272
参照してた元コード貼っちゃうといろいろと面倒なのでその部分だけ例えた感じっす
>>273
なるほど単にそういうことですよね
>>277
なるほどさらに、しっくりきました
243 = :
横からですが
>>280
車クラスから作られた車インスタンスが
車部品クラスから生成されたハンドルインスタンスを
包含するということでは?
244 = :
動物クラスに”死(HP0状態)”メソッドやプロパティをつけた場合も
動物園クラスやその上の包含クラスからみれば、死してなお包含ということかな
あるゾウXが動物園Aから動物園Bに移転する場合は
動物園クラスを包含する展示施設クラス的なのをつくって
(A)展示施設("動物園Bの名前やIDやオブジェクト").登録("ゾウXの名前やIDやオブジェクト");
内部は、
(1)return 動物園Bオブジェクト;
(2)動物園B.登録(ゾウX);
(3)return ゾウXオブジェクト
(4)ゾウX.所属変更(動物園B);
(5)this.所属=動物園B;
(0)(A)でそもそも動物園B、ゾウ共にオブジェクトが引数なら一発変更
みたいな感じだろうか・・こんがらがってきた
245 = :
>>278
好きなの選びなはれ。
let abc = [...Array(10)].map(() => hoge());
let abc = Array.from(Array(10), () => hoge());
let abc = Array.from({length:10}, () => hoge());
let abc = Array.apply(null, {length: 10}).map(() => hoge());
let abc = [...Array(10)].reduce(acc => [...acc, hoge()], []);
let abc = [...Array(10)].reduce(acc => acc.concat(hoge()), []);
let abc = [...function*(){for(let n=0;n++<10;)yield hoge()}()];
let abc = [...function*(){let n=0;while(n++<10)yield hoge()}()];
let abc = Array.from(Array(10)).reduce(acc => [...acc, hoge()], []);
let abc = Array.from({length:10}).reduce(acc => [...acc, hoge()], []);
let abc = [...{*[Symbol.iterator](){for(let n=0;n++<10;)yield hoge()}}];
let abc = [...{*[Symbol.iterator](){let n=0;while(n++<10)yield hoge()}}];
let abc = Array.apply(null, {length: 10}).reduce(acc => [...acc, hoge()], []);
let abc = Array.apply(null, {length: 10}).reduce(acc => acc.concat(hoge()), []);
246 = :
>>284
よく考えたら今回のhoge、引数取らないみたいだから上の4つ以下のように関数ラップはずせるわ。Yo!Yo!
let abc = [...Array(10)].map(hoge);
let abc = Array.from(Array(10), hoge);
let abc = Array.from({length:10}, hoge);
let abc = Array.apply(null, {length: 10}).map(hoge);
247 = :
ありがとうでしょ!
248 = :
怒濤の選択肢ワロタwww
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.142 + (984) - [100%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.140 + (1001) - [97%] - 2019/9/19 10:45
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
- + JavaScript の質問用スレッド vol.143 + (753) - [97%] - 2020/4/19 5:00
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
トップメニューへ / →のくす牧場書庫について