元スレ+ JavaScript の質問用スレッド vol.142 +
JavaScript覧 / PC版 /みんなの評価 :
251 = :
AppleがOpenGL廃止するから、
WebGLももう終わりを迎えようとしてるんですね。
252 = :
>>283
オブジェクト指向の典型例。
Generic, 総称型
動物園は、親クラスの動物型の配列を持つ。
死ねば、そこから削除する
動物型の配列.each とすると、
各動物は自動的に、自分の(子)クラスに対応した、メソッドを呼ぶ
ゾウは、ゾウのように鳴き、
ライオンは、ライオンのように鳴く
子クラス独自の動きをする
253 = :
254 = :
規約違反だと思うのでとりあえず通報ポチってみましたww
255 = :
function test(a,b) {
var a=a,b=b;
~処理~
}
こんなふうにjavascriptって、関数の引数を
var で新しく変数で定義するってやるべきでしたっけ?
function test(a,b) {}ってやる時点で関数testの中のローカル変数a,b
って意味になって、新しくvar a=a,b=bって不要でしたっけ?
256 = :
不要
257 = :
やっぱ不要ですか
ありがとうございました
258 = :
実引数が文字列とか数値とかの不変な型、じゃない場合は仮引数に対して値とか値の内容を変えたつもりでも、実引数も変更されるから注意
259 = :
ニホンザル語→《翻訳》→日本語
オブジェクトのプロパティを変えると
そのオブジェクトを参照している全ての変数に於いて変えた結果が反映されるよ
260 = :
いや当たり前だろどれも同じオブジェクト指してるんだから。
そうじゃないと困るわ。
261 = :
>>300
なるほど、分からん
263 = :
>>303
文系らしい理解だなw
CやらC++やったら発狂しそうwww
「仮引数への操作」じゃなくて仮引数通して参照先のオブジェクト直接操作してんだバカ。
何が「反映される」だバカwww
265 = :
「も変わる」じゃねーよ同一のものなんだから。
266 = :
概念的には「も」でいいんじゃないの
仮引数には別名を付けれるんだし、エイリアスちう概念
267 = :
よくない。
スミスさんは結婚して山田さんになりましたが仕事では旧姓スミスを引き続き使用しています。
山田さんはある日、家で料理中に指を切ってしまいました。
すると、スミスさん「も」指を切ってしまいました。
これはおかしい。
スミスや山田はラベルに過ぎない。
スミス. hp -= 10
も
山田.hp -= 10
も
同一オブジェクトに対する同じ操作。
268 = :
居候している田中さんも切ってしまったらどうなるの?
269 = :
山田(旧姓:スミス)さんと田中さんは別人(別オブジェクト)だからそこは「も」でいい。
270 = :
隣に住むヤクザさんも指を切ってしまいました。
271 = :
山田(旧姓:スミス)さんと田中さんと隣に住むヤクザさんは別人(別オブジェクト)だからそこは「も」でいい。
272 = :
そう。別人だと思っていたのです。その時までは・・・
違和感を覚えたのは、切った指が同じ指だった事に気づいたときです。
最初はたまたまかも思ったのですが、一緒に風呂に入った時、
指の断面図が私の
273 = :
jsとjquery
どちらでも代用可能なコードであればjsでインラインにした方が読み込み早いとかそういうことはありますか?
274 = :
当たり前だろ
275 = :
ありますが此処で聞いても良いことないので
自分で計測して判断しましょう
276 = :
仮引数も実引数も同一のものだろって言えるのはJS引数の仕様を知ってるからでは
仮引数に実引数が代入される(a=b)か複製されるかは言語仕様による
だからまぁ、初学者は暗黙に変数名変わったら参照を共有してないように考えやすいとは思う
277 = :
ちょっとしたスクリプトの検証のためにコピペしてブラウザのコンソールにぶっ込んで使ってるけど
constだと続けて同じコード実行すると定義済みですって怒られるからブラウザ更新するけどいちいちめんどいのですがどうすればいいですか
もちろん元コードをvarとかに書き換えるのはもっと面倒です
278 = :
貼り付けるコードの前に(()=>{
後ろに})()
を付けて実行する。
リロードより楽かは知らん
279 = :
>>307
絶対に間違ってはいけない考え方をやってしまっています
渡され方が渡されるものによって変わるということは不自然であり、一般的にありません
多くの言語では、渡され方は、渡し方、によって変わり、それが自然なのです
JSでも、プリミティブかどうかで渡され方が変わることはありません
そして、JSでは参照だの参照の値だのを持ち出す必要はありません
仕様書を愚直に読めば、全ての値が名付けの連鎖によって
例えばあなたに拓哉という名前だったりタッちゃんという名前だったりがあるように
あなたはあなたであり、他の何者でもなく、拓哉やタッちゃんがあなたという存在ではないですが、
あなたという存在を同時に共有して表すための名前という概念で変数を捉える事ができます
そのため、共有渡しという言葉がJSでは使われることがあります
ようするに1でも"Str"でも、それは別の名前がつけられる時複製されているわけではないのです
ただプリミティブ型は不変なため、コピーされていると考えても、同一存在だと考えても辻褄が合います
ですがわざわざ型によって渡され方が変わるなどの仕様書にない不自然な考え方をしなくとも
すべて共有渡しだと簡単に認識すればよいのです
ちなみに、実際のエンジンでも、SMIを除いてプリミティブ型でも参照の値渡しによって
メモリの同一データへの参照が伝播されていく実装になっていることが多いです
SMIを除いてプリミティブ型の多くはオブジェクトとして扱われています
280 = :
よく分からんから山田さんと田中さんで例えてくれ
281 = :
実態と理屈は別だから実用上は「全部同じ共有」ってだけの認識じゃ不便じゃね
let x = y = '初め';
x = '入れた'; // x === '入れた', b=== '初め' ✕変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だけど対象は単体?
let a = b = [0];
a = {1}; // a === {1}, b === {1} ○変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だから対象も連動
282 = :
>>324は間違いの例ね
変数への再代入は、全く同じ参照先を持つ他の変数の参照先は変えない
283 = :
>>320
Node.js をインストールしているなら、
VSCode の拡張機能のQuokka.js で、
リアルタイムに値も表示される、スクラッチパッドとして使える
ただし、無料バージョンでは、保存したファイルからは実行できない
284 = :
const a = { x: "x" }
const b = { x: "x" }
上は、2つのオブジェクトを生成しているけど、
下のc は、オブジェクトを生成していない。
参照の代入だから、単なるエイリアス
const c = a
a.x = 1
console.log( c ) //=> { x: 1 }
285 = :
参照の代入ってなんだ?
参照値の代入って言いたいのか?
286 = :
>>316
インラインにしたほうが約数ミリ秒早い。
ただし開発効率が低下し開発時間がかかる。
お前が働いた時間でどれくらい金がかかるかわかるか?
それだけの金を使って1ミリ秒しか変わらなかったんだぞ!って言われてみ?
287 = :
そんなのチェックしないから大丈夫。
速くなるのか遅くなるのかの定性的な事実が重要。
288 = :
インライン/外部化は必要に応じて決定する
というか、開発効率を気にする奴はインライン化も機械化すると思うが
GoogleのHTMLが手で書かれてるわけない
289 = :
インライン化は最適化の基本
必要な所では勝手にされるので
開発者は自然に書くといい
290 = :
実行速度を気にしてる人は二パターンあって、
自分で速度を測って本気で速度を気にしてる人と
速度を測らないで速いかどうかの話をするだけのなんちゃってやろう
なんちゃってやろうは本気じゃない
俺はちゃんとしてますってふりしてるだけ
291 = :
速度を気にしてる人は2パターンあって、
限られた環境で限られたケースでのみたまたま今速かったものを心酔するバカパターンと
最速ではないが全てのモダンブラウザで速さが安定して早いWasmを使う賢パターンがある
293 = :
298 = :
>>337
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
第二引数
299 = :
>>337
ありません
300 = :
>>337
Function#bind
類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について