BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース TypeScript 1.8ベータにはJavaScript統合、シームレス関数コンポーネントなどが追加される

TypeScript 1.8ベータにはJavaScript統合、シームレス関数コンポーネントなどが追加される

ブックマーク

原文(投稿日:2016/02/03)へのリンク

Microsoftが提供するJavaScriptのオープンソースなスーパーセットであるTypeScriptは1.8ベータに達し、多くの言語機能やツール拡張を提供する。

TypeScript 1.8のもっともインパクトのある機能は、コンパイラでTypeScriptファイルと一緒にJavaScriptを使用することができるようになったことである。この機能は--allowJSコマンドラインフラグで有効にでき、JavaScriptコードをシームレスにTypeScriptプロジェクトで使用することができ、開発者がコンパイルエラーを引き起こす可能性があるすべてのJavaScriptファイルの変換をすることなく、開発者が好きなペースで作業することができる。それに加えて、JavaScriptコードをコンパイルできるということは、サードパーティのライブラリをTypeScriptコンパイルに含めることができるため、外部パッケージにそれらを一緒にバンドルする必要がないことを意味する。

ステートレス関数コンポーネントは、Reactプロジェクトが発祥のアイディアで、TypeScript 1.8ベータに含まれることになった。これらの主な魅力は状態を持たない軽量コンポーネントで、簡単に構成することができることである。以下はTypeScriptのステートレス関すコンポーネントの例である:

let SimpleGreeter = ({name = ‘world‘}) => <div>Hello, {name}</div>;

同様のコードは以下:

interface GreeterProps {
    name: string;
}

class Greeter extends React.Component<GreeterProps, {}> {
    render() {
        return <div>Hello, {this.props.name}</div>;
    }
}

シームレス関数コンポーネントには最新バージョンのreact.d.tsが必要になる。

TypeScript 1.8ベータにはF-boundedポリモーフィズムのサポートが追加されており、型パラメータは、同じ型パラメータリストから型パラメータ参照への制限が可能になっている。以下のコードスニペットは、T型が同じパラメータリストの他の型によって制限されており、UはTypeScriptに適合している:

function assign<T extends U, U>(target: T, source: U): T {
    for (let id in source) {
        target[id] = source[id];
    }
    return target;
}

その他のTypeScriptコンパイラへの歓迎すべき拡張は、到達不能コード、未仕様ラベル、暗黙的な戻り値などの一般的なエラーを助ける制御フロー解析である。

TypeScript 1.8ベータには、簡易化されたReactのprops型管理、文字列リテラル型、union/intersection型への型推論の改善などさらに多くの新機能が含まれている。公式の新機能で詳細を見ることができる。

前述の通りTypeScriptは厳密なJavaScriptのスーパーセットであり、オプショナルの静的型付けとクラスベースのオブジェクトプログラミングサポートが追加される。 TypeScript 1.8ベータは、Visual Studio 2015向け、NuGetnpmで提供されている。

 

この記事に星をつける

おすすめ度
スタイル

BT