BT

Your opinion matters! あなたのご意見でInfoQが変わる!

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

| 作者: Sergio De Simone フォローする 5 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2016年2月4日. 推定読書時間: 3 分 |

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

原文(投稿日: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でリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT