Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > Object > toString (Object.toString メソッド) | |||
public toString() : String
指定されたオブジェクトをストリングに変換し、返します。
使用できるバージョン : ActionScript 1.0、Flash Lite 2.0
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()); // [current date and time] を出力する
// 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)); // number を出力する
trace(myNumber.toString()); // 5 を出力する
trace(typeof (myNumber.toString())); // string を出力する
次の例では、カスタムクラスの 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 を出力する