- PR -

Stringのキャスト

投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-10-16 23:32
質問をされるときは、第三者に様子がわかるように、
何がどう問題であるのかをハッキリと書かれたほうがよいかと思います。
引用:

String(XXX)でStringに変換していると思っていたのが、IEでは認識されない事に気付きました。


認識されないとは具体的に何が起こっていますか?
エラーが発生しているのでしょうか、
nullもしくはundefinedになっているのでしょうか?

引用:

このXXXはobjectなのですが、FireFoxでは正常に取得できています。


何から何が取得できているのですか?
未記入
ベテラン
会議室デビュー日: 2007/09/29
投稿数: 78
投稿日時: 2008-10-17 22:28

FireFox3では、文字列として取得できています。
XXX = (Object)

IEでは
alert(new String(XXX));
としても、[object]と内容表示されます。

FireFox3で
alert(XXX);
では、確かにObjectになり、
alert(new String(XXX));
では、文字列として取得できています。

Objectの様式によってそのようになってしまっているのか、ブラウザ毎で違いがあるのか確認したいのですが、お分かりになりますでしょうか?
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2008-10-17 22:42
引用:

未記入さんの書き込み (2008-10-17 22:28) より:

FireFox3では、文字列として取得できています。
XXX = (Object)

IEでは
alert(new String(XXX));
としても、[object]と内容表示されます。

FireFox3で
alert(XXX);
では、確かにObjectになり、
alert(new String(XXX));
では、文字列として取得できています。

Objectの様式によってそのようになってしまっているのか、ブラウザ毎で違いがあるのか確認したいのですが、お分かりになりますでしょうか?


これだけでString関数のせいだとしか考えていないわけだ。
話がぜんぜんすすまないね。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-18 00:09
<script>

var xxx = (Object);

alert(xxx);
alert(new String(xxx));
</script>

意味がわかりません。

alert(xxx) として [object] と100%表示されるサンプル提示して下さい。

インタラネットエクスプロイダーとか使っていませんか?

マイクロソフト社製のWindowsXP HomeEdition の
IE6-SP2

Google の chrome

もじらの Firefox3
では全部

function Object() { [Native Code] }

が表示されました。


typeof した結果の見間違いってことで FA かも。。。

追記:
もしかして、<object>タグでActiveXコントロールを定義しているとか?
xxx = new ActiveXObject("scripting.FileSystemObject");
alert(xxx);

は指摘どおり、[object] って表示されます。でも IE だけ。後続行の
alert(new String(xxx)); は動作しません。

やはりミニマムコードの出番ですね。



[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-10-18 00:20 ]
未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2008-10-18 00:23
コード:
<script>

var xxx = (Object);

alert(xxx);
alert(new String(xxx));
</script>


は、
Vista
Firefox 3.0.3
および
IE 7

コード:
function Object() {
    [native code]
}


が2回出ます。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2008-10-18 09:11
引用:

未記入さんの書き込み (2008-10-18 00:23) より:
コード:
<script>

var xxx = (Object);

alert(xxx);
alert(new String(xxx));
</script>


は、
Vista
Firefox 3.0.3
および
IE 7

コード:
function Object() {
    [native code]
}


が2回出ます。


その通りですね。何の問題もありません。

少し落ち着いて問題点を考え直した方がいいですね。
初めの問題は
引用:

未記入さんの書き込み (2008-10-16 11:14) より:
IE6 & FireFox 3で確認しているのですが、String(XXX)でStringに変換していると思っていたのが、IEでは認識されない事に気付きました。

このXXXはobjectなのですが、FireFoxでは正常に取得できています。

ご存知の方、よろしくお願いします。


であって、IEとFirefoxでは挙動が違う、という事だったと思います。

スキルアップ/キャリアアップ(JOB@IT)