[過去ログ] + JavaScript の質問用スレッド vol.141 + (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
88: 2019/07/08(月)18:08 ID:??? AAS
50スレ前からいる俺は、>>74を「仕様の質問だけに限定するのは実質無理」と受け取ったが、100スレ前からいる彼には深い考えがあるのだろう。

- コードの動作確認が出来ない
- デバッガも使えない
- 仕様を読み取ってコードを書き、思考実験を繰り返す

この困難な状況をどうやって打開するのか、実に興味深い。
若輩者の私に、ご教示頂ければ幸いである。
89: 2019/07/08(月)19:10 ID:??? AAS
質問どうぞ
90: 2019/07/08(月)22:28 ID:??? AAS
+ JavaScript の質問用スレッド vol.140 +
2chスレ:hp

前スレ消化してからで良いだろ
91
(1): 2019/07/09(火)06:45 ID:??? AAS
実質無理と言ったのは
>>54で書いたようにそういう話題を完全に受け入れるというスタンスでもないし、
その逆でも今はないんだから、今までの様に穏やかにいられないんでしょという皮肉

そして>>82でも言ったが誰も仕様の話しかしてはいけないとは言っていない
仕様から離れたプラットフォームの話、つまり具体的に言うなら
普遍的なWebというものから離れたブラウザ固有の仕様の話は受け入れるべきかという話

デバッガは開発ツールなので今までWeb仕様とは別の体感できる動作についてて主に話してたのとは
ちょっと系統は変わるが、それでいうとそういう開発外部ツールの話を受け入れるのであれば、
同様にトランスレータだったり、オーサリングツールの話も受け入れるようにしないと
それこそ好き嫌いのとくに理由のない恣意的な差別になる
省4
92
(1): 2019/07/09(火)08:20 ID:??? AAS
>>91
長文ご苦労様だが、

> 今までの様に穏やかにいられないんでしょという皮肉

根拠があなたの頭の中にしかないから、以降の話が全く頭に入って来ない
何度言われても根拠を出さないのだから、「根拠が全くない」か「感想が根拠だと思っている」のどちらかなんだろうな…
93
(1): 2019/07/09(火)08:47 ID:??? AAS
「俺はこう思う。お前らもそう思うだろ?」
→「そんなわけないだろ」(反対者多数)
→「なんで俺の思い(イメージ)を分かってくれないんだよ!」

今のところ、こんな印象
94
(5): 2019/07/09(火)09:24 ID:??? AAS
勉強中のものです。
「そこに何を代入しても何も起こらない、メモリも食わない、エラーにもならないオブジェクト」ってないものなんでしょうか。
例えば var element にDOM要素が入っているとして element.value="piyo"; という命令があるのはよくあるパターンですが、
このelementに中身が入ってないとエラーが出たりしますよね。
私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい
(element の中身が「それ」なら、何も起こらず、エラーも出ない)んです。
こういうブラックホールみたいな値やオブジェクトみたいな存在ってないんでしょうか。
95: 2019/07/09(火)10:03 ID:??? AAS
>>94
> このelementに中身が入ってないとエラーが出たりしますよね。
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい


https://developer.mozilla.org/ja/docs/Web/API/Document/getElementById
> 文書内に一致する要素がなければ null です。

.getElementById の返値をチェックすれば?
96: 2019/07/09(火)11:09 ID:??? AAS
>>94
jQueryがそういう設計になってる。

例えばその例ではvalueを設定しているが、
jQueryの設計では「"0個以上の要素"に対してvalueを設定する」という書き方をする。
だから要素が見つからなくてもエラーにならないし、複数見つかれば複数設定できる。

いまだにブラウザ間の互換性問題が解決したからjQueryはいらないなんて言ってるやつがいるが
こういう設計がDOM APIとは異なってる(使いやすい)ライブラリなんだよ。

で話を戻すと、jQueryでは $('.foo').val('piyo') みたいにセレクタで指定することが多いが、
$(elemment).val('piyo') みたいに単一の要素を指定することも可能。
この場合、elementの中身が入っていなくてもエラーにならない。
省1
97
(1): 2019/07/09(火)12:27 ID:??? AAS
>>94
変数にする以上はメモリを消費するので、メモリを消費しない方法はない
変数にしなければ、当然、メモリは消費しない

if (typeof element !== 'undefoned' && Object(element) === element)
element.value="piyo";

メモリを度外視するなら、Object.create(null) でラップオブジェクトを作って、setterかnew Proxyでプロパティを監視する事で実装可能
98
(1): 2019/07/09(火)12:39 ID:??? AAS
jQueryってメモリ消費しないんですね。ありがとうございました。
99
(3): 2019/07/09(火)12:40 ID:??? AAS
>>92>>93
なんか勘違いしてるのかもしれないけど
思いを分かってもらいたいわけではなく
何か揉めたときに、テンプレに「自ら学ぶため」という言葉があれば
まあそれを持ち出して決着を付ける事が本当に良いことかは置いといて、
一応このスレのスタンスだからと言えるでしょ

でも今のままでは、俺が折角マニアックな質問を色々調べて回答してあげても
それにスレチだなんだケチがついたときにどっちが正しいとも言えず永遠喧嘩になるでしょ
それはどちらが悪いとかじゃなくて俺と彼とで考えるこのスレで扱うものの基準が違うという事で、それが何処にも示されていない以上、個人の好みになっちゃうんだから
それで俺も彼も質問者も不幸になることはもうやめたいんだよ
省6
100
(2): 2019/07/09(火)12:47 ID:??? AAS
>>94
falsyな時だけ「空のオブジェクト」を代入するなら、こういう書き方はある
>>97は一つのオブジェクトで一元管理する

var element = document.getElementById('foo') || Object.create(null);

>>98
そんなわけない
変数にする以上は、メモリを消費する(>>97)
101: 2019/07/09(火)14:20 ID:??? AAS
コードは長くなるけど変数使わないからメモリ消費しないんだぜ!



そのコードを入れておくメモリが消費される
102
(2): 2019/07/09(火)14:21 ID:??? AAS
>>100
この質問の本質は、そういうコードを書きたくないということでしょう?
103: 2019/07/09(火)14:33 ID:??? AAS
結局何をしたいのか分からん
C言語だって char *a = "abc"; と書いたとき、ポインタ a の分だけメモリ喰うわけだしな

したいことと、典型的なコードでなってしまうことの差が
具体的に分からないと何ともいえない

https://jsbin.com/yemedon/edit?html,js,console
こういうのとは違うみたいだし
104: 2019/07/09(火)14:42 ID:??? AAS
無理矢理いえば test() の返値は必ず入る
アセンブラのときにレジスタに必ず入るかどうかは知らない

0 との比較の場合はアセンブラ的には即値0が必要とならないケースが多い、はず
RISCでどうなるか等は知らない
サボリのためCASLの仕様書は読んでない
105: 2019/07/09(火)15:13 ID:??? AAS
変数は必ずしもメモリを消費しない
インライン化とエリミネーションで半分程度削減される
だからデバッガを有効にしてるとメモリを食う
106: 2019/07/09(火)15:39 ID:??? AAS
> 私は、いちいち if (element) element.value="piyo"; というふうな中身の確認をせずに、代入をできるようにしたい

そもそも、これって vanilla JS で実現できるの?
107
(1): 2019/07/09(火)15:46 ID:??? AAS
入力があって、出力対象となるべき要素がなければ
parentNode に appendChild() するのが自然な考え方にもおもえる
無視して良いという仕様なのだろうか(そうだとしたら while で終わりか?)

メモリどうこうより仕様が気になるな
それとも「じつはライブラリ房でした」というオチなのか
1-
あと 895 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.184s*