4Dランゲージは常に改良を続けています。v20 では、クラスの使い勝手を良くする新機能として、”宣言されたクラスプロパティ” をお届けします。クラスプロパティを宣言することで、オートコンプリートを大幅に改善し、コンパイル時に分かりやすいエラーを出すこともできます。その方法を詳しく説明しましょう!
クラスプロパティを宣言するのは簡単で、変数の宣言と同様の構文を使いますが、キーワードに property を使います:
property myProperty : text
プロパティは、クラス関数の前に宣言します。宣言すると、これらのプロパティはオートコンプリートの助けとなります:
また、これによりクラスプロパティに強い型付けがおこなわれるため、間違った値を代入すると、コンパイラーがエラーを返すようになります:
4D は、コンパイル時にのみ代入をチェックすることに注意してください。そのため、明らかに間違った代入に対しては、コンパイルエラーが表示されます。しかし、バリアントのように正しいかもしれない値を代入している場合、実際には実行時に互換性のない型をバリアントがとったとしても、コンパイルエラーにはなりません。ランタイムにおいては、クラスプロパティの宣言の有無による振る舞いの違いはありません。
上ではわかりやすくするために、クラス内でプロパティを使う例を示しましたが、宣言されたクラスプロパティは、メソッドや他のクラスで使ってもオートコンプリートの恩恵を受けることができます。宣言されたクラスプロパティを持つコンポーネントを使用する場合は、そのコンポーネントのコンパイル時にコード補完用のシンタックスファイルを生成していれば、オートコンプリートやコンパイルチェックの恩恵を受けることができます。また、VS Code Extension を使用する場合にも、オートコンプリートの恩恵を受けることができます。
この機能によって、単純なミスを避け、コーディングを簡素化できるはずです。もし、これについてフィードバックがあれば、遠慮なく 4Dフォーラムにお寄せください。