本書ではTypeScriptの型と部分型関係がなす代数的構造を解説し、型についての強固かつ柔軟なメンタルモデルを構築します。 順序理論、集合論、束論、環論、そして圏論に至るまで、複数の数学理論を利用して多角的にモデルを構築することで、型の直感的な理解を深め、型の互換性に対する自然な推論を可能となるように解説した新しい試みの本です。

本書ではTypeScriptの型と部分型関係がなす代数的構造を解説し、型についての強固かつ柔軟なメンタルモデルを構築します。 順序理論、集合論、束論、環論、そして圏論に至るまで、複数の数学理論を利用して多角的にモデルを構築することで、型の直感的な理解を深め、型の互換性に対する自然な推論を可能となるように解説した新しい試みの本です。
この記事は TypeScript Advent Calendar 2020 の 17 日目です。 今回は TypeScript のTipsをいくつかあげていきたいと思います! 割と基本的なものが多いので、普段から TypeScript をがっつり書いている方に取ってはすでに知っているものが多いかもしれません。ただ、意識しないとあまり使わなかったり、TypeScript の経験がない方に取っては新鮮なものもあるのでは?と思ったので書いてみました。 keyof オブジェクトのキーを union 型に type Post = { id: number; title: string; content: string; }; type PostKey = keyof Post; // type PostKey = "id" | "title" | "content" const sortBy = <
TypeScriptは、JavaScriptのさまざまなフリーダムな書き方を受け入れ、漸進的な型付けを行えるようにするという狂った高難易度な目的のために作成されているのですが、そろそろ、TypeScriptファーストで、利用者にとって使いやすいAPIみたいな方向性で使われることも増えるのでは、という思いを強く持ちました。「既存のJSプロジェクトをTypeScript化して〜」みたいな紹介のされ方はもはや過去のものになったのではないかと。 すでにState of JavaScript 2019では2/3のユーザーがすでにTypeScriptを利用したことがある(使っている)と答え、残りの1/3も学びたい、と答えている状況です。この勢いだと、2年後には80%を超えそうです。僕自身も、TypeScriptファーストな世界がくることを想像して説明に使える教科書を書き始めたわけですが、思ったよりもそ
某社で自分が React/Redux + TypeScript などの講習をやってみた結果、TypeScript 入門用資料が必要だと思って書いたやつです。 このドキュメントのターゲット TypeScript で書かれたプロジェクトに参加する人 TypeScript を導入するために、その事前知識が必要な人 このドキュメントの読み方 ES2015 for Beginners ES2015 for ES5 Programmers ES Modules 非同期表現: Promise と async/await TypeScript エコシステム編 自分が React/Redux などの講習でいろいろやってみた結果、 ES2015 と TypeScript を同時に教えると、初学者は何がどの概念に由来するかの区別が出来ずに混乱します。なので、ES5 -> ES2015, ES2015 -> Ty
どうぶつしょうぎ AI を作りました。絶対に勝てません。無力感を味わってください。 ref: http://mame.github.io/dobutsu-shogi-master どうぶつしょうぎとは 3 マス x 4 マスの単純化された将棋です。ライオン(王相当)、ぞう(1 マスしか進めない角行)、キリン(1 マスしか進めない飛車)、ひよこ(歩相当、にわとりに成ったら金相当)の 4 種類の駒を動かして、相手のライオンを取るか、トライ(ライオンを一番奥の行まで運ぶ、ただし直後に取られる場合はだめ)に成功すれば勝ちです。詳しくは Wikipedia の記事を見てください。 どうぶつしょうぎは後手必勝であることが知られています(研究報告)。つまり、後手が正しくプレイする限り、先手は絶対に勝てません。どうぶつしょうぎ名人は常に正しくプレイするので、先手のあなたは絶対に勝てません。 なんで作ったの
AltJs ってトランスパイルした後、テストを実行させる必要があるから・・、面倒くさいんだよね。なんか、あまり情報もないし、これだから AltJs は・・・と思うわけですが、やってみると案外大したことないもんです。 今回は、TypeScript のコードのユニットテスト、カバレッジを記していこうと思います。本記事のコードは以下のURLにあります。 https://github.com/Syati/typescript-sample/tree/master/011_test_sample Step 0: 事前準備 流れ ts でコードを書く トランスパイルする(js と map を出力) js をテストする map を利用してts カバレッジを測る ライブラリ npm install -g mocha istanbul remap-istanbul でそれぞれコマンドが利用できるようになりま
DefinitelyTyped The repository for high quality TypeScript type definitions Usage npm This is the preferred method. This is only available for TypeScript 2.0+ users. For example: npm install --save-dev @types/jquery The types should then be automatically included by the compiler. See more in the handbook. Triple-Slash Directives Download a declaration file from the repository and include a line li
TypeScript 1.5.3が出ました! 今回のアップデートはかなり多くの更新を含む、大規模なアップデートであると言えます。 ↑ここまで前回のコピペ まさか、1.4.1から半年待つことになろうとは思いませんでしたね…。 alphaからbetaが1月なのに正式リリースが2ヶ月強ですよ。 変更点は公式Blogにも書かれているが、ざっくりイカの通り。 ES6サポート es6 modules destructuring spread for...of symbols computed properties let/const tagged string templates namespaceキーワードの導入 外部モジュールのコンパイルターゲットにUMD*とSystemJS*のサポートを追加 プロジェクト設定ファイル(tsconfig.json)の導入 Decoratorsの追加 Angular
最近は仕事で TypeScript を書いています。この TypeScript は、コンパイルすると JavaScript にできるという特徴をもつ altJS と呼ばれる言語の仲間です。なかでも、推論つきの静的型検査がついていることが最大の特徴でしょう。 さて、話は変わりますが、プログラマは「コンパイル時計算」という言葉が大好きで、とくにうっかりチューリング完全になっちゃったものとかを見つけると、手を叩いて大喜びしたりするわけですね。 TypeScript にもコンパイル時計算があって、コンパイル時の型検査がそのひとつです。今回は、この型検査を利用して、どのレベルの計算機能までを実現できるのか試してみました。 結論からいうと、TypeScript のコンパイル時計算を使って組み合わせ回路を実現できました。 実証コードとして、コンパイル時 4bit 加算器をつくってみました。4bit 加算
does somebody know how to do a module.exports? I tried some different ways ending up with export class Greeter {} which will compile to exports.Greeter = Greeter; But what I really want is this: exports = Greeter; So that I can use it like this: import { Greeter } from "greeter"; const greeter = new Greeter(); and not import { Greeter } from "greeter"; const greeter = new Greeter.Greeter(); Is thi
そんな訳で、CoffeeScript を触り始めて半年弱、TypeScript を触り始めて1ヶ月弱ほど経ちました。まだまだ日は浅いですが、いちおう両方とも実務案件にて使用したということで、ここらで双方に対する振り返りを簡単にしておくとします。 CoffeeScript について http://coffeescript.org/ 学習開始時期: 2014年1月頃 始めたきっかけ: Middleman や Ruby on Rails が標準サポートしているため、面倒な環境構築等をしなくて済んだから Ruby や Haml のようなテキスト量の少ない文法が好みだったから そんな訳でとっかかりとしての基礎学習期間はだいたい2〜3日くらいで、そこから既存のプロダクションコードを CoffeeScript に書き換えつつ実案件に取り入れていきました。 おおまかな特徴 要は JavaScript をよ
すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform Windows 365 開発者
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Microsoft is holding an AI Agents Hackathon, and we want to see what you can build with Python! We'll have 20+ live streams showing you how to build AI agents with Python using popular agent frameworks and Microsoft technologies. Then, you can submit your project for a chance to win prizes, including a Best in Python prize!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く