public toString() : String
指定されたオブジェクトをストリングに変換し、返します。
String - ストリング。
この例では、汎用オブジェクトの toString() に対する戻り値を示しています。
var myObject:Object = new Object(); trace(myObject.toString()); // 出力 : [object Object]
このメソッドを上書きし、さらに意味のある値を返すことができます。次の例では、このメソッドがビルトインクラスの Date、Array、および Number に対して上書きされたことを示しています。
// Date.toString() が現在日時を返します
var myDate:Date = new Date();
trace(myDate.toString()); // 出力: [現在の日付と時刻]
// Array.toString() は内容の配列をカンマ区切りストリングとして返します
var myArray:Array = new Array("one", "two");
trace(myArray.toString()); // 出力 : one,two
// Number.toString() が数値をストリングとして返します
// trace() は値がストリングなのか数値なのかを知らせないので、
// typeof() を使用して toString() が機能するかどうかもテストします。
var myNumber:Number = 5;
trace(typeof (myNumber)); // 出力 : 数値
trace(myNumber.toString()); // 出力 : 5
trace(typeof (myNumber.toString())); // 出力 : ストリング
次の例では、カスタムクラスの toString() を上書きする方法を示します。最初に、"Vehicle.as" という名前のテキストファイルを作成し、そのファイルに Vehicle クラス定義のみを含めて、設定フォルダ内の "Classes" フォルダに格納します。
// "Vehicle.as" の内容
class Vehicle {
var numDoors:Number;
var color:String;
function Vehicle(param_numDoors:Number, param_color:String) {
this.numDoors = param_numDoors;
this.color = param_color;
}
function toString():String {
var doors:String = "door";
if (this.numDoors > 1) {
doors += "s";
}
return ("A vehicle that is " + this.color + " and has " + this.numDoors + " " + doors);
}
}
// FLA ファイルに挿入されるコード
var myVehicle:Vehicle = new Vehicle(2, "red");
trace(myVehicle.toString());
// 出力 : A vehicle that is red and has 2 doors
// 比較目的で valueOf() を呼び出します
// myVehicle にはプリミティブ値がないので、オブジェクトが返されます
// toString() と同じ出力にします
trace(myVehicle.valueOf());
// 出力 : A vehicle that is red and has 2 doors
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート