こんにちは。yoshiです。 先日(9月1日)にオープンされた TypeScript のプルリクエストがヤバいわよ!という話をします。 ※※※注意ここから※※※ 一応先に言っておきますと、これからする話はまだ PR 段階なのでそのまま取り込まれるかどうか分からないし、どのバージョンでリリースされるかも分かりません。ここで書いていることはリリース時には仕様が変わっている可能性は大いにあり、リリース後に検索等でこの記事にたどり着いた方は、もっと良い解説がどこかにあると思うのでそちらを参照することをおすすめします。 ※※※注意ここまで※※※ 該当の PR はこれです。 Template string types and mapped type 'as' clauses by ahejlsberg · Pull Request #40336 · microsoft/TypeScript この PR
ジェネリクスとは「抽象化されたデータ型」を表現する機能です。 同じ様な関数だが、型違いの場合に、引数である型を抽象的に使う時に便利な機能です。 ジェネリクスを使わない例では、 let getStringArray = (value: string): string[] => { return [value, value, value]; }; let getNumberArray = (value: number): number[] => { return [value, value, value]; }; 冗長ですよね。 関数の受け取る引数が違うだけなのに、複数の関数を定義している例です。 だめな解決策としては、型の部分をany型にするという解決策がありますが、それではTypeScriptで静的型付けをしている意味が全くありません。 そこで登場するのが、 ジェネリクス という機能です。
JavaScriptでも静的な型が求められるようになりTypeScriptやFlowが使われるようになってきました。 しかし、それらが無かったころのJavaScriptのコードやトランスパイラを使わずに開発している人はいてると思います。 この記事はコードの変更なしでJSDocのみで型検査をする方法を紹介します。 TL;DR JSDocの型定義で型チェックをする TypeScriptのallowJsとcheckJsを使う 必要に応じてd.tsをインストールする JSDocの型定義 TypeScriptやFlowが登場するより前からJSDocは存在します。JavadocやPHPDocのJavaScript版のようなものです。 そのJSDocは型定義が書けるようになっています。 エディタによってはJSDocの型定義で型のチェックを行ってくれることもあります。 JSDocについては@use JSD
General Types Number, String, Boolean, Symbol and Object ❌ Don’t ever use the types Number, String, Boolean, Symbol, or Object These types refer to non-primitive boxed objects that are almost never used appropriately in JavaScript code.
TypeScript’s type system is very powerful because it allows expressing types in terms of other types. The simplest form of this idea is generics. Additionally, we have a wide variety of type operators available to use. It’s also possible to express types in terms of values that we already have. By combining various type operators, we can express complex operations and values in a succinct, maintai
In this chapter, we’ll cover some of the most common types of values you’ll find in JavaScript code, and explain the corresponding ways to describe those types in TypeScript. This isn’t an exhaustive list, and future chapters will describe more ways to name and use other types. Types can also appear in many more places than just type annotations. As we learn about the types themselves, we’ll also
TypeScriptで連想配列を定義したい場合、普通に型を定義せずJavascriptのHashでも使えるけど、型チェックを入れたければindex signaturesというのを使うらしい。 参照: https://typescript.codeplex.com/discussions/398359 index signatureとして指定できる型はstringかnumberのみ。また、こうやって変数定義すると、hash.key 形式ではアクセスできなくなる。 // JavascriptそのままのHash var hash1 = {}; hash1['a'] = 'b'; // OK hash1[1] = 'c'; // OK hash1['d'] = 2; // OK hash1.c = 'd'; // エラー // TypeScriptの型チェックを有効にしたHash var hash
どうも、らこです。 Angular 2の開発リポジトリでは型定義ファイルの依存解決に関して、最初はtsdだったのが途中でtypingsに移り、そして最近またtsdに回帰していたのですが、ついにtsdすらも使わず、npmだけですべてを解決するようになってました。 いったいどうやって?というのが今回のお話で、結論から言うと @types スコープから公開されているパッケージがdevDependenciesとして依存されるようになっていました。 @types typesという名前のユーザーで、明らかにbotだけど中身はMicrosoftの人らしい。(メールアドレスから) どのパッケージもだいたい 2016/5/17 に最初のpublishがされているらしく、最近始まった取り組みのようです。 現在1700超のパッケージが公開されてますが、すべて型定義ファイルのパッケージです。型定義は https:
TypeScript の .d.ts ファイルを管理する tsd コマンドが非推奨になったみたいです。 typings というツールが十分使えるようになったから、だそうです。 簡単に試してみました。 インストール $ npm install -g typings npm install で普通にインストールできます。 普通に使ってみる まずは適当なライブラリの型定義ファイルを検索してインストールしてみます。 $ typings search bluebird レジストリは github.com/typings/registry にあります。デフォルトではここの npm ディレクトリを見るらしいです。 レジストリにあるのは JSON ファイルで、実際の定義ファイルは他のレポジトリのものが指定されています。 見つかった定義をインストールするには typings install を使います。 $
tsdが非推奨になったということで新しく推奨されているTypeScript型定義管理ツールの「typings」に関して調べたのでその備忘録。 Typingsとは tsdと同じくTypeScriptの型定義ファイルを管理するツールです。 GitHubから型定義を取得してくるしかなかったtsdと違って、npmやbower、githubプロジェクト、ローカルファイルシステムやhttp経由で型定義ファイルを取ってこれるのが特長です。DefinitelyTypedもサポートしているので、tsdから移行して困ることはありません。 また、tsdと違ってGitHubのAPIを叩かないので、GitHubAPIのrate limitに引っかかって落ちるということもありません。 1 インストール方法 基本的な使い方 tsdコマンドを置き換えるだけならすごく簡単です。 プロジェクトの初期化 Typingsはプロジ
2014/11/13 改訂 CONTRIBUTORS.mdが自動生成になった こんにちは、株式会社トップゲートのわかめ(@vvakame)です。 TypeScript 1.0がリリースされ、大変喜ばしい限りです! 安定版がリリースされたので、これから普及にはずみが付くでしょう。 TypeScriptはJavaScriptのスーパーセットです。 そして、TypeScriptは静的型付け言語です。 ところが、JavaScriptは動的型付け言語なんですね。なので、JavaScriptの既存ライブラリをTypeScriptで安全に使うには、型情報を後付で与えなければなりません。 それが、型定義ファイル(言語仕様上はdeclaration source file)と呼ばれるものです。 この型定義ファイルを集積しているサイトが、DefinitelyTypedになります。 DefinitelyType
JavaScriptからTypeScript用型定義ファイル( d.tsファイル )を生成する dtsmake というツールを作った。その過程で型定義ファイルのコツが色々と見えたので紹介込みでまとめてみたい。 型定義ファイルで消耗してませんか? TypeScriptでjsのライブラリなどを使う時に必ず問題になるのが、型定義ファイルの存在。DefinitelyTyped にあれば tsd で取ってくればいいが、問題は無い場合。そもそも非公開ライブラリの場合はあるはずもなく、自分で型定義ファイルを書くことになる。 私のようなノンプログラマの多くがそうであるように、ただライブラリを使いたいだけ、のような場面ではこれはかなりのコストがかかり、TypeScriptで消耗する原因のかなりの割合を占めるのではないかと推測している。 dtsmake について dtsmakeはそういった「 とりあえず使いた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く