BT

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

作者: Sergio De Simone , 翻訳者 尾崎 義尚 投稿日 2016年2月4日 |

原文(投稿日: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で提供されている。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
サイト全般について
バグ
広告
記事
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com and 株式会社豆蔵 InfoQ Japan hosted at Contegix, the best ISP we've ever worked with.
プライバシー
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.