# Introduction AssemblyScript compiles a variant of TypeScript (opens new window) (a typed superset of JavaScript) to WebAssembly (opens new window) using Binaryen (opens new window), looking like: export function fib(n: i32): i32 { var a = 0, b = 1 if (n > 0) { while (--n) { let t = a + b a = b b = t } return b } return a } It is similiar to TypeScript but with WebAssembly types, has some constra
先日チームメンバーと「TypeScriptのinterfaceとtypeのどっちが好み」を話しました。個人的に安全派なので、interfaceを多く採用しています。今日interfaceとtypeを比較してみようと思います。 declaration merge interfaceではdeclaration mergeができます。 interface Car { price: number; } interface Car { weight: number; } /** * interface will be merged: * * interface Car { * price: number; * weight: number; * } */ const car: Car = { price: 10000, weight: 1.5 };
2021/11/10 TECH STAND #6 TypeScriptにて発表した資料です。
Non-null assertion operator とは、オブジェクトのうしろにつける ! のこと。 たとえばこんなもの。TS 2.7 から使える。 TypeScript Deep Dive によれば、 新しい ! ポストフィックス式演算子を使用して、型チェッカーが結論付けられないコンテキストにおいて、そのオペランドが非 null でかつ非 undefined であることをアサートすることができます。 そしてこうも書いてある。 これは単なるアサーションであり、型アサーションと同じように、あなたは値が null でないことを確認する責任があることに注意してください。 非 null アサーションは、本質的にはコンパイラに”それは null でないことが分かっているから、null ではないものとして使います”と伝えるものです。 なるほど、強制的に null または undefined でない
Null- and undefined-aware types TypeScript has two special types, Null and Undefined, that have the values null and undefined respectively. Previously it was not possible to explicitly name these types, but null and undefined may now be used as type names regardless of type checking mode. The type checker previously considered null and undefined assignable to anything. Effectively, null and undefi
Cheatsheet for using React with TypeScript. Web docs | Contribute! | Ask! 👋 This repo is maintained by @eps1lon and @filiptammergard. We're so happy you want to try out React with TypeScript! If you see anything wrong or missing, please file an issue! 👍 | The Basic Cheatsheet is focused on helping React devs just start using TS in React apps Focus on opinionated best practices, copy+pastable exa
.tsでジェネリクスを使用して,アロー関数の型宣言を行う方法 const hello = <T>(name: T) => { return name; } // hello<string>("igarashi"); これをそのままjsxに記述すると<T>がコンポーネントとして認識されてしまい, TS17008: JSX element 'T' has no corresponding closing tag. とアラートが表示される. tsxでジェネリクスを使用して,アロー関数の型宣言を行う方法 https://github.com/Microsoft/TypeScript/issues/15713 で議論されているように型宣言では以下のように記述する. <P extends {}>or<P extends object> 上記のプログラムに反映すると let hello = <T ext
こんにちはかみむらです。最近は、React + TypeScriptをよく書いているのですが、下記のようなエラーが発生しました。 ここでやりたかったことは、Chromeでサポートされたimgのプロパティで、Loading Attributeを使って画像を遅延読み込みしようとしました。 Reactでも使えそうだったので実装してみたところ、imgプロパティに型定義がないと怒られました。そこでDefinitelyTypedで、imgプロパティの型定義を確認したところ、やはりありませんでした。 DefinitelyTypedから引用(2020/2/16) github.com プルリクエストを送ることも考えましたが、色々調べたところ下記のプルリクエストを見つけました。 github.com 上記リンクのコメントからの引用です。 We decided to not accept attributes
同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。 1-1. tsc TypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。TypeScriptを利用する際に typescript パッケージをインストールする必要がありますが、それに同梱されています。 公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。また、Path Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。 tsco
Node.js+TypeScriptでバックエンドを書いてると、DIパターンを使いたい場面が結構ある。 いわゆるDIと言うとコンストラクタインジェクションなどクラスありきの方法が思い浮かぶけれども、実際には関数でもDIパターンを書くことができる。単純に関数のパラメータに依存を受け取ればよい。 // 依存を表現する型 interface Deps { appService: AppServiceInterface; } // DIパターンを記述する関数 function DoSomething({appService}: Deps, params: any) { ... } 依存を注入する場合には、引数を部分適用するbind()メソッドを使う。 // 依存を注入 const doSomething = DoSomething.bind(null, { appService: new MyAp
本書『サバイバルTypeScript』は実務でTypeScriptを使う開発者のための入門書です。そして、このページはTypeScriptの特徴を最速で把握できるよう、数百ページからなる本書のコンテンツをつまみ食いした要約です。 » 本書ついて詳しく知る » とにかく今すぐTypeScriptを書いてみたい TypeScriptとはJavaScriptのスーパーセットとなるプログラミング言語。静的型付け言語であり、プログラムの正しさが静的に検査できる。ライブラリやIDEなどの開発環境が充実しており、大きなエコシステムを持っている。Microsoftが2012年に開発し、オープンソースで公開した。» TypeScriptの特徴について詳しく知る » TypeScript誕生の背景について詳しく知る TypeScriptはJavaScriptのスーパーセットスーパーセットとは、元の言語との
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く