私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.120 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>899
違う
君の目には "Object (non-standard exotic and does not implement [[Call]])" は写らないのか
それ以外の全ての文字が存在しうる
違う
君の目には "Object (non-standard exotic and does not implement [[Call]])" は写らないのか
それ以外の全ての文字が存在しうる
(原文)
Implementation-defined. Must not be "undefined", "boolean", "function", "number", "symbol", or "string".
(和訳)
処理系定義。"undefined", "boolean", "function", "number", "symbol", "string" であってはならない。
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-typeof-operator
Implementation-defined. Must not be "undefined", "boolean", "function", "number", "symbol", or "string".
(和訳)
処理系定義。"undefined", "boolean", "function", "number", "symbol", "string" であってはならない。
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-typeof-operator
一応書きますが>>899さんとは別人です
たとえばtypeofでobjectと返って来たものは
objectとして扱うべきですが、
object以外の任意の文字が返って来た時、
objectとして扱うべきなのでしょうか?
これは例えばなので、functionであったとしても同じです。
functionと返ってこないものを
functionとして扱っていいのでしょうか?
objectとして扱うべきですが、
object以外の任意の文字が返って来た時、
objectとして扱うべきなのでしょうか?
これは例えばなので、functionであったとしても同じです。
functionと返ってこないものを
functionとして扱っていいのでしょうか?
>>904
あなたのいう「objectとして」や「functionとして」がどのような意味で使っているのか、が分からないと返答しようがないのだが…
> object以外の任意の文字が返って来た時、objectとして扱うべきなのでしょうか?
「Object 型として扱うべき」という意味であれば "function" であっても "hoge" (>>902の事) であっても Object 型として扱うべき
> functionと返ってこないものをfunctionとして扱っていいのでしょうか?
ES6 には Function 型は存在しないし、あなたのいう function が何かを明示して欲しい
ES6 では [[Call]] を持つなら "function" を返さなければならない
ES3 なら "Object (host)" が [[Call]] を持つ事を許すので、それ以外の文字も存在しうるし、"object" 等の規定値であっても良い(古いIEの attachEvent や>>623はそれだろう)
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.4.3
規定値を許す仕様は想定外のバグを生みかねないのでES5で修正されている
http://es5.github.io/#x11.4.3
読み返してみたら、>>641で似たような質問があるな
あなたのいう「objectとして」や「functionとして」がどのような意味で使っているのか、が分からないと返答しようがないのだが…
> object以外の任意の文字が返って来た時、objectとして扱うべきなのでしょうか?
「Object 型として扱うべき」という意味であれば "function" であっても "hoge" (>>902の事) であっても Object 型として扱うべき
> functionと返ってこないものをfunctionとして扱っていいのでしょうか?
ES6 には Function 型は存在しないし、あなたのいう function が何かを明示して欲しい
ES6 では [[Call]] を持つなら "function" を返さなければならない
ES3 なら "Object (host)" が [[Call]] を持つ事を許すので、それ以外の文字も存在しうるし、"object" 等の規定値であっても良い(古いIEの attachEvent や>>623はそれだろう)
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.4.3
規定値を許す仕様は想定外のバグを生みかねないのでES5で修正されている
http://es5.github.io/#x11.4.3
読み返してみたら、>>641で似たような質問があるな
>>906
「型」と「継承」は何の関係もない
「型」と「継承」は何の関係もない
「互換性」「継承関係」という言葉が曖昧すぎる
日本語だとそれぞれの認識に差が出るから、仕様内で使われている英語を使ってくれ
そうでないとまた泥沼議論になる
日本語だとそれぞれの認識に差が出るから、仕様内で使われている英語を使ってくれ
そうでないとまた泥沼議論になる
typeofでfunctionが帰ってくるのなら、それはfunctionだし
返ってこないならそれはfunctionじゃない。
Callを持つかどうか?であれば、hasCallとかいうメソッドで
調べるべきで、typeofで調べるべきことではない。
返ってこないならそれはfunctionじゃない。
Callを持つかどうか?であれば、hasCallとかいうメソッドで
調べるべきで、typeofで調べるべきことではない。
>>911
> Callを持つかどうか?であれば、hasCallとかいうメソッドで調べるべきで、typeofで調べるべきことではない。
横からすまないが、hasCall は ES6 規定のメソッドだろうか
検索したが見つけられなかったので、該当仕様URLを教えてくれると嬉しい
> Callを持つかどうか?であれば、hasCallとかいうメソッドで調べるべきで、typeofで調べるべきことではない。
横からすまないが、hasCall は ES6 規定のメソッドだろうか
検索したが見つけられなかったので、該当仕様URLを教えてくれると嬉しい
>>916
あなたの言う「Object」とは? → 「互換性のあるもの」
あなたの言う「互換性のあるもの」とは? → 「Objectを渡されると期待している所に入れても大丈夫なもの」
循環定義になっているので、私には答えようがないです
あなたの言う「Object」とは? → 「互換性のあるもの」
あなたの言う「互換性のあるもの」とは? → 「Objectを渡されると期待している所に入れても大丈夫なもの」
循環定義になっているので、私には答えようがないです
>>918
循環定義じゃなくて、
同じことを違う言葉で説明しているだけだろ。
「互換性がある」という説明じゃ通じないんだから
「Objectを渡されると期待している所に入れても大丈夫なもの」 と
言い換えた。
誰も定義の話なんかしとらんよ。
日本語通じないのかなこの人。
循環定義じゃなくて、
同じことを違う言葉で説明しているだけだろ。
「互換性がある」という説明じゃ通じないんだから
「Objectを渡されると期待している所に入れても大丈夫なもの」 と
言い換えた。
誰も定義の話なんかしとらんよ。
日本語通じないのかなこの人。
>>921
煽りは要らない
あなたの言う「Object」が何なのか、それが私には知る由がないので、質問に答えられない
もしそれが説明できないなら、ES6仕様書での「4.3.3 object」の定義で回答するが、それでいいか?
煽りは要らない
あなたの言う「Object」が何なのか、それが私には知る由がないので、質問に答えられない
もしそれが説明できないなら、ES6仕様書での「4.3.3 object」の定義で回答するが、それでいいか?
>>920
自作するなら仕様から [[Call]] を持つ事を保証しなければならない
「typeof は[[Call]] を調べるべきではない」⇒「自作しろ」では何の解決策にもなってないと思うが
typeof以外で [[Call]] の存在を判定可能なものが必要だろう
代替案なしの否定では何も進まない
自作するなら仕様から [[Call]] を持つ事を保証しなければならない
「typeof は[[Call]] を調べるべきではない」⇒「自作しろ」では何の解決策にもなってないと思うが
typeof以外で [[Call]] の存在を判定可能なものが必要だろう
代替案なしの否定では何も進まない
>>924
あなたの中ではそのいう定義なんですね。ES6と全く違う定義なので、私にはわからなかったです
あなたのその定義で言えば、typeof で "object" を返す保証はありません
obj instanceof Object で調べればいいです。終わり
あなたの中ではそのいう定義なんですね。ES6と全く違う定義なので、私にはわからなかったです
あなたのその定義で言えば、typeof で "object" を返す保証はありません
obj instanceof Object で調べればいいです。終わり
>>927
ああ、これに関しては悪かったw質問に答えてなかったね
「typeofでobjectと返ってこないものをObjectと判断していいのか?」
→ あなたの定義の「Object」である場合もあるし、そうでない場合もある
終わり
ああ、これに関しては悪かったw質問に答えてなかったね
「typeofでobjectと返ってこないものをObjectと判断していいのか?」
→ あなたの定義の「Object」である場合もあるし、そうでない場合もある
終わり
答え
> たとえばtypeofでobjectと返って来たものは
> objectとして扱うべきですが、
> object以外の任意の文字が返って来た時、
> objectとして扱うべきなのでしょうか?
objectとして扱ってはいけません。
> これは例えばなので、functionであったとしても同じです。
> functionと返ってこないものを
> functionとして扱っていいのでしょうか?
functionと返ってこないのであれば、
functionではありません。
> たとえばtypeofでobjectと返って来たものは
> objectとして扱うべきですが、
> object以外の任意の文字が返って来た時、
> objectとして扱うべきなのでしょうか?
objectとして扱ってはいけません。
> これは例えばなので、functionであったとしても同じです。
> functionと返ってこないものを
> functionとして扱っていいのでしょうか?
functionと返ってこないのであれば、
functionではありません。
ああ、そういうことか
「"object" を返すものだけが真のobjectである」という説に落ち着けたかったのね
実際には「Objectのインスタンスではない」というだけなんだけど
「"object" を返すものだけが真のobjectである」という説に落ち着けたかったのね
実際には「Objectのインスタンスではない」というだけなんだけど
正確にはこうだな
■typeof演算子で "object" を返す場合
・Object型です
・Objectのインスタンスである事は保証されません
■typeof演算子で "function" を返す場合
・Object型で [[Call]] を持ちます
・Functionのインスタンスである事は保証されません
「型」と [[Call]] と [[Class]] を混同する人はそれなりに多い
■typeof演算子で "object" を返す場合
・Object型です
・Objectのインスタンスである事は保証されません
■typeof演算子で "function" を返す場合
・Object型で [[Call]] を持ちます
・Functionのインスタンスである事は保証されません
「型」と [[Call]] と [[Class]] を混同する人はそれなりに多い
上のほうで、typeofでその他が返って来た時が
どうのこうのって言っていた奴いたじゃん?
あれ何が言いたかったんだろうね。
Objectであればinstanceofで調べられるわけで。
どうのこうのって言っていた奴いたじゃん?
あれ何が言いたかったんだろうね。
Objectであればinstanceofで調べられるわけで。
>>934
話題とは関係ないけど、typeof null == "object" も忘れないでね
話題とは関係ないけど、typeof null == "object" も忘れないでね
>>937
すまん、うっかりしてた
>>931に倣うならこうなる(「functionでないもの」は意味不明すぎるので削除した)
■typeof演算子で "object" を返す場合
・Object型もしくはNull型です
・Object型であってもObjectのインスタンスである事は保証されません
■typeof演算子で "undefined", "boolean", "function", "number", "symbol", "string" 以外を返す場合
・処理系のObject型です
・ES3では [[Call]] を持つものもありますが、ES5, ES6 では [[Call]] を持ちません
・Objectのインスタンスである事は保証されません
・Functionのインスタンスである事は保証されません(※[[Call]] を持つ場合)
■typeof演算子で "function" を返す場合
・Object型で [[Call]] を持ちます
・Functionのインスタンスである事は保証されません
・ES5, ES6 では typeof 演算子で返す文字列の中で [[Call]] を持つ唯一のケースです
すまん、うっかりしてた
>>931に倣うならこうなる(「functionでないもの」は意味不明すぎるので削除した)
■typeof演算子で "object" を返す場合
・Object型もしくはNull型です
・Object型であってもObjectのインスタンスである事は保証されません
■typeof演算子で "undefined", "boolean", "function", "number", "symbol", "string" 以外を返す場合
・処理系のObject型です
・ES3では [[Call]] を持つものもありますが、ES5, ES6 では [[Call]] を持ちません
・Objectのインスタンスである事は保証されません
・Functionのインスタンスである事は保証されません(※[[Call]] を持つ場合)
■typeof演算子で "function" を返す場合
・Object型で [[Call]] を持ちます
・Functionのインスタンスである事は保証されません
・ES5, ES6 では typeof 演算子で返す文字列の中で [[Call]] を持つ唯一のケースです
(function(global){
var obj = document.getElementById("test");
obj.addEventListener("click", aaaaaaaaa, false);
}(window));
のときは循環参照しないから最後にglobal = nullしなくてもよくて
(function(global){
global.addEventListener("click", aaaaaaaaa, false);
}(window));
のときだけ循環参照してメモリが食うからglobal = nullってしないといけないって認識でOKですか?
var obj = document.getElementById("test");
obj.addEventListener("click", aaaaaaaaa, false);
}(window));
のときは循環参照しないから最後にglobal = nullしなくてもよくて
(function(global){
global.addEventListener("click", aaaaaaaaa, false);
}(window));
のときだけ循環参照してメモリが食うからglobal = nullってしないといけないって認識でOKですか?
(function(global){
window.addEventListener("click", aaaaaaaaa, false);
}(window));
っていうふうにglobalじゃなくてwindowを使えば循環参照でメモリを食わないって認識でもいいですか?
window.addEventListener("click", aaaaaaaaa, false);
}(window));
っていうふうにglobalじゃなくてwindowを使えば循環参照でメモリを食わないって認識でもいいですか?
>>941-942
aaaaaaaaa の関数定義がないので何ともいえないが、確認できる限りでは全てDOMとScriptで循環参照していない
aaaaaaaaa の関数定義がないので何ともいえないが、確認できる限りでは全てDOMとScriptで循環参照していない
youtubeのチャンネル登録された動画をgetjsonで取得し、任意の数だけ表示させているのですが、非公開動画があるとその前の動画までしか表示してくれません。
どうすれば、非公開動画を飛ばせますか?
どうすれば、非公開動画を飛ばせますか?
例外処理すればいいだけじゃないの
ソースコードがないから何とも言えないけど
ソースコードがないから何とも言えないけど
>>943
このスレと過去スレを呼んだら循環参照するって書いてありました
このスレと過去スレを呼んだら循環参照するって書いてありました
まじで
ってことはglobal = nullって書かなくてもいいってことですか
ってことはglobal = nullって書かなくてもいいってことですか
そもそも>>941のコードではaaaaaaaaa内からglobalへの参照がないので循環参照していない
仮に循環参照していても、サポート切れのXP以下でしか使えないIE6など気にする必要ない
仮に循環参照していても、サポート切れのXP以下でしか使えないIE6など気にする必要ない
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
トップメニューへ / →のくす牧場書庫について