Skip to the content.

基本的な型の扱いについて - Basic type conversion

概要

TypeScriptによるWebGLプログラミングを補助するための型の扱いについて説明します。関連するコードは tips_core フォルダの conversion.ts です。サンプルプログラムはありません。

関連コード

リスト型、ディクショナリ型、詳細な数値型の追加

JavaSciprtでは一般的なプログラミング言語における固定配列、リスト、ディクショナリ(辞書)を全てArray型で扱うことができます。しかしゲーム「トリノワールド」の開発では、これらをTypeScriptの機能を利用して区別して扱いました。それには主に以下の理由がありました。

そこでTypeScriptの機能を利用して、リスト型、ディクショナリ型、さらに数値型についても補助的な型を導入しました。以下は conversion.ts の抜粋です。

var List = Array; // newによりオブジェクトを生成するためのもの
var Dictionary = Array; // 同上

type List<T> = Array<T>;
type Dictionary<T> = any | Array<T>;

type uchar = number;
type char = number;
type short = number;
type int = number;
type long = number;
type ushort = number;
type uint = number;
type ulong = number;
type float = number;
type double = number;

リスト、ディクショナリ、文字列操作関数の追加

JavaScriptのArrayにはパフォーマンスとして優れていても記述として分かりづらいものがあり、C++移植への対応も兼ねていくつかの関数を用意しました。また、文字列操作には一般的な方法が確立されていないものがあり、記述のブレを減らすとともに保守性を高めるため、いくつかの関数を用意しました。