私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.142 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
AppleがOpenGL廃止するから、
WebGLももう終わりを迎えようとしてるんですね。
WebGLももう終わりを迎えようとしてるんですね。
>>283
オブジェクト指向の典型例。
Generic, 総称型
動物園は、親クラスの動物型の配列を持つ。
死ねば、そこから削除する
動物型の配列.each とすると、
各動物は自動的に、自分の(子)クラスに対応した、メソッドを呼ぶ
ゾウは、ゾウのように鳴き、
ライオンは、ライオンのように鳴く
子クラス独自の動きをする
オブジェクト指向の典型例。
Generic, 総称型
動物園は、親クラスの動物型の配列を持つ。
死ねば、そこから削除する
動物型の配列.each とすると、
各動物は自動的に、自分の(子)クラスに対応した、メソッドを呼ぶ
ゾウは、ゾウのように鳴き、
ライオンは、ライオンのように鳴く
子クラス独自の動きをする
function test(a,b) {
var a=a,b=b;
~処理~
}
こんなふうにjavascriptって、関数の引数を
var で新しく変数で定義するってやるべきでしたっけ?
function test(a,b) {}ってやる時点で関数testの中のローカル変数a,b
って意味になって、新しくvar a=a,b=bって不要でしたっけ?
var a=a,b=b;
~処理~
}
こんなふうにjavascriptって、関数の引数を
var で新しく変数で定義するってやるべきでしたっけ?
function test(a,b) {}ってやる時点で関数testの中のローカル変数a,b
って意味になって、新しくvar a=a,b=bって不要でしたっけ?
実引数が文字列とか数値とかの不変な型、じゃない場合は仮引数に対して値とか値の内容を変えたつもりでも、実引数も変更されるから注意
ニホンザル語→《翻訳》→日本語
オブジェクトのプロパティを変えると
そのオブジェクトを参照している全ての変数に於いて変えた結果が反映されるよ
オブジェクトのプロパティを変えると
そのオブジェクトを参照している全ての変数に於いて変えた結果が反映されるよ
いや当たり前だろどれも同じオブジェクト指してるんだから。
そうじゃないと困るわ。
そうじゃないと困るわ。
>>300
なるほど、分からん
なるほど、分からん
const a = { x: "x" }
function f( a ) { a.x = 1 }
f( a )
console.log( a ) //=> { x: 1 }
function f( a ) { a.x = 1 }
f( a )
console.log( a ) //=> { x: 1 }
C/C++ 以外の言語の引数は、primitive 以外は、参照渡し!
引数の状態を変えると、渡されたオブジェクトの状態も変わる!
引数の状態を変えると、渡されたオブジェクトの状態も変わる!
概念的には「も」でいいんじゃないの
仮引数には別名を付けれるんだし、エイリアスちう概念
仮引数には別名を付けれるんだし、エイリアスちう概念
よくない。
スミスさんは結婚して山田さんになりましたが仕事では旧姓スミスを引き続き使用しています。
山田さんはある日、家で料理中に指を切ってしまいました。
すると、スミスさん「も」指を切ってしまいました。
これはおかしい。
スミスや山田はラベルに過ぎない。
スミス. hp -= 10
も
山田.hp -= 10
も
同一オブジェクトに対する同じ操作。
スミスさんは結婚して山田さんになりましたが仕事では旧姓スミスを引き続き使用しています。
山田さんはある日、家で料理中に指を切ってしまいました。
すると、スミスさん「も」指を切ってしまいました。
これはおかしい。
スミスや山田はラベルに過ぎない。
スミス. hp -= 10
も
山田.hp -= 10
も
同一オブジェクトに対する同じ操作。
山田(旧姓:スミス)さんと田中さんは別人(別オブジェクト)だからそこは「も」でいい。
山田(旧姓:スミス)さんと田中さんと隣に住むヤクザさんは別人(別オブジェクト)だからそこは「も」でいい。
そう。別人だと思っていたのです。その時までは・・・
違和感を覚えたのは、切った指が同じ指だった事に気づいたときです。
最初はたまたまかも思ったのですが、一緒に風呂に入った時、
指の断面図が私の
違和感を覚えたのは、切った指が同じ指だった事に気づいたときです。
最初はたまたまかも思ったのですが、一緒に風呂に入った時、
指の断面図が私の
jsとjquery
どちらでも代用可能なコードであればjsでインラインにした方が読み込み早いとかそういうことはありますか?
どちらでも代用可能なコードであればjsでインラインにした方が読み込み早いとかそういうことはありますか?
ありますが此処で聞いても良いことないので
自分で計測して判断しましょう
自分で計測して判断しましょう
仮引数も実引数も同一のものだろって言えるのはJS引数の仕様を知ってるからでは
仮引数に実引数が代入される(a=b)か複製されるかは言語仕様による
だからまぁ、初学者は暗黙に変数名変わったら参照を共有してないように考えやすいとは思う
仮引数に実引数が代入される(a=b)か複製されるかは言語仕様による
だからまぁ、初学者は暗黙に変数名変わったら参照を共有してないように考えやすいとは思う
ちょっとしたスクリプトの検証のためにコピペしてブラウザのコンソールにぶっ込んで使ってるけど
constだと続けて同じコード実行すると定義済みですって怒られるからブラウザ更新するけどいちいちめんどいのですがどうすればいいですか
もちろん元コードをvarとかに書き換えるのはもっと面倒です
constだと続けて同じコード実行すると定義済みですって怒られるからブラウザ更新するけどいちいちめんどいのですがどうすればいいですか
もちろん元コードをvarとかに書き換えるのはもっと面倒です
貼り付けるコードの前に(()=>{
後ろに})()
を付けて実行する。
リロードより楽かは知らん
後ろに})()
を付けて実行する。
リロードより楽かは知らん
>>307
絶対に間違ってはいけない考え方をやってしまっています
渡され方が渡されるものによって変わるということは不自然であり、一般的にありません
多くの言語では、渡され方は、渡し方、によって変わり、それが自然なのです
JSでも、プリミティブかどうかで渡され方が変わることはありません
そして、JSでは参照だの参照の値だのを持ち出す必要はありません
仕様書を愚直に読めば、全ての値が名付けの連鎖によって
例えばあなたに拓哉という名前だったりタッちゃんという名前だったりがあるように
あなたはあなたであり、他の何者でもなく、拓哉やタッちゃんがあなたという存在ではないですが、
あなたという存在を同時に共有して表すための名前という概念で変数を捉える事ができます
そのため、共有渡しという言葉がJSでは使われることがあります
ようするに1でも"Str"でも、それは別の名前がつけられる時複製されているわけではないのです
ただプリミティブ型は不変なため、コピーされていると考えても、同一存在だと考えても辻褄が合います
ですがわざわざ型によって渡され方が変わるなどの仕様書にない不自然な考え方をしなくとも
すべて共有渡しだと簡単に認識すればよいのです
ちなみに、実際のエンジンでも、SMIを除いてプリミティブ型でも参照の値渡しによって
メモリの同一データへの参照が伝播されていく実装になっていることが多いです
SMIを除いてプリミティブ型の多くはオブジェクトとして扱われています
絶対に間違ってはいけない考え方をやってしまっています
渡され方が渡されるものによって変わるということは不自然であり、一般的にありません
多くの言語では、渡され方は、渡し方、によって変わり、それが自然なのです
JSでも、プリミティブかどうかで渡され方が変わることはありません
そして、JSでは参照だの参照の値だのを持ち出す必要はありません
仕様書を愚直に読めば、全ての値が名付けの連鎖によって
例えばあなたに拓哉という名前だったりタッちゃんという名前だったりがあるように
あなたはあなたであり、他の何者でもなく、拓哉やタッちゃんがあなたという存在ではないですが、
あなたという存在を同時に共有して表すための名前という概念で変数を捉える事ができます
そのため、共有渡しという言葉がJSでは使われることがあります
ようするに1でも"Str"でも、それは別の名前がつけられる時複製されているわけではないのです
ただプリミティブ型は不変なため、コピーされていると考えても、同一存在だと考えても辻褄が合います
ですがわざわざ型によって渡され方が変わるなどの仕様書にない不自然な考え方をしなくとも
すべて共有渡しだと簡単に認識すればよいのです
ちなみに、実際のエンジンでも、SMIを除いてプリミティブ型でも参照の値渡しによって
メモリの同一データへの参照が伝播されていく実装になっていることが多いです
SMIを除いてプリミティブ型の多くはオブジェクトとして扱われています
実態と理屈は別だから実用上は「全部同じ共有」ってだけの認識じゃ不便じゃね
let x = y = '初め';
x = '入れた'; // x === '入れた', b=== '初め' ✕変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だけど対象は単体?
let a = b = [0];
a = {1}; // a === {1}, b === {1} ○変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だから対象も連動
let x = y = '初め';
x = '入れた'; // x === '入れた', b=== '初め' ✕変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だけど対象は単体?
let a = b = [0];
a = {1}; // a === {1}, b === {1} ○変数の"値を弄る"、○変数の"値をすげ替える"……?参照先を共有してるとすると共有だから対象も連動
>>324は間違いの例ね
変数への再代入は、全く同じ参照先を持つ他の変数の参照先は変えない
変数への再代入は、全く同じ参照先を持つ他の変数の参照先は変えない
>>320
Node.js をインストールしているなら、
VSCode の拡張機能のQuokka.js で、
リアルタイムに値も表示される、スクラッチパッドとして使える
ただし、無料バージョンでは、保存したファイルからは実行できない
Node.js をインストールしているなら、
VSCode の拡張機能のQuokka.js で、
リアルタイムに値も表示される、スクラッチパッドとして使える
ただし、無料バージョンでは、保存したファイルからは実行できない
const a = { x: "x" }
const b = { x: "x" }
上は、2つのオブジェクトを生成しているけど、
下のc は、オブジェクトを生成していない。
参照の代入だから、単なるエイリアス
const c = a
a.x = 1
console.log( c ) //=> { x: 1 }
const b = { x: "x" }
上は、2つのオブジェクトを生成しているけど、
下のc は、オブジェクトを生成していない。
参照の代入だから、単なるエイリアス
const c = a
a.x = 1
console.log( c ) //=> { x: 1 }
>>316
インラインにしたほうが約数ミリ秒早い。
ただし開発効率が低下し開発時間がかかる。
お前が働いた時間でどれくらい金がかかるかわかるか?
それだけの金を使って1ミリ秒しか変わらなかったんだぞ!って言われてみ?
インラインにしたほうが約数ミリ秒早い。
ただし開発効率が低下し開発時間がかかる。
お前が働いた時間でどれくらい金がかかるかわかるか?
それだけの金を使って1ミリ秒しか変わらなかったんだぞ!って言われてみ?
そんなのチェックしないから大丈夫。
速くなるのか遅くなるのかの定性的な事実が重要。
速くなるのか遅くなるのかの定性的な事実が重要。
インライン/外部化は必要に応じて決定する
というか、開発効率を気にする奴はインライン化も機械化すると思うが
GoogleのHTMLが手で書かれてるわけない
というか、開発効率を気にする奴はインライン化も機械化すると思うが
GoogleのHTMLが手で書かれてるわけない
インライン化は最適化の基本
必要な所では勝手にされるので
開発者は自然に書くといい
必要な所では勝手にされるので
開発者は自然に書くといい
実行速度を気にしてる人は二パターンあって、
自分で速度を測って本気で速度を気にしてる人と
速度を測らないで速いかどうかの話をするだけのなんちゃってやろう
なんちゃってやろうは本気じゃない
俺はちゃんとしてますってふりしてるだけ
自分で速度を測って本気で速度を気にしてる人と
速度を測らないで速いかどうかの話をするだけのなんちゃってやろう
なんちゃってやろうは本気じゃない
俺はちゃんとしてますってふりしてるだけ
速度を気にしてる人は2パターンあって、
限られた環境で限られたケースでのみたまたま今速かったものを心酔するバカパターンと
最速ではないが全てのモダンブラウザで速さが安定して早いWasmを使う賢パターンがある
限られた環境で限られたケースでのみたまたま今速かったものを心酔するバカパターンと
最速ではないが全てのモダンブラウザで速さが安定して早いWasmを使う賢パターンがある
forEach に対して value, index, array 以外の引数を渡す方法ってありますか?
>>334
WasmでDOMサクセスができるブラウザはどれ?
WasmでDOMサクセスができるブラウザはどれ?
>>337
ありません
ありません
>>337
Function#bind
Function#bind
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について