Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
訂正1: コメントで指摘があった Contravariant→反変では? を反映。coとcontra… こんにちはソウゾウ社に転職しました@vvakameです。 今回は結構気持ちよくなる更新が多いです。 TypeScript 2.6.1がアナウンスされました。 What's new in TypeScriptも更新されているようです。 破壊的変更もあるよ! 変更点まとめ 関数の引数の型についてのチェックを強化 Strict function types (d: Dog) => void 的な関数を (a: Animal) => void 的な変数に突っ込めてたのを弾けるようになった タグ付きテンプレートリテラルがキャッシュされるようになった Cached tagged template objects in modules よりECMAScriptの仕様に準拠した形 関数の第一引数に渡され
TypeScript は静的型がウリの言語なので、もうちょっとやりようはあるのではないか。 目標:型付き正規表現 これらの問題を解決するために、キャプチャーの型の情報を埋め込んだ型 TypedRegExp<captures> を作りたい。キャプチャーの型とは、具体的には string: 通常のキャプチャー string | undefined: 後ろに ? や * がついたもの、あるいは | の一方に含まれるもの undefined: 否定先読み (?! .. ) に含まれるキャプチャー のいずれかである。例えば、 /(a)(b)?/ という正規表現のキャプチャーの型は、順に string, string | undefined となる。 captures が string, string | undefined というリストの場合(最初の例)、 r: TypedRegExp<captur
こんにちは@vvakameです。 今回は薄味更新という感じですね。 TypeScript 2.5.2がアナウンスされましたね。 What's new in TypeScriptも更新されているようです。 わかめさんも久々にPR送ったりしました。 変更点まとめ try-catchの例外のキャプチャが省略できるようになった Optional catch binding try { ... } catch { ... } がvalidに(es仕様に準拠 jsに対してコメントによる型注釈・キャストのサポートを追加 Assertion/cast JSDoc syntax in checkJs mode より賢いpackage解決 For duplicate source files of the same package, make one redirect to the other package
問題提起 React始めたいですよね! でも今時、型のない言語とか使いたくないですよね! TypeScriptコンパイラもjsxに対応したし、Angular2でもTypeScriptが標準っぽいし、 とりあえずこれから始めるならTypeScriptでしょう。 ということで、個人的に良いのではと考えている技術スタックをまとめてみました。 内容が膨大なのでシリーズにしています。 環境・技術スタック 基本的には以下のように最新に追従していきます。 NodeJS 7.X~ React 15.5 Redux TypeScript 2.3 wepack 2.5 express(開発用の仮サーバーとして) karma (他、各種ライブラリを都度見ていきます) 記事 導入編 Reactで普通のSPAを作るために最低限必要だと筆者が考える構成を順を追って説明していきます。 React + TypeScrip
こんばんは@vvakameです。 TypeScript 2.4.1がアナウンスされましたね。 What's new in TypeScriptも更新されているようです。 変更点まとめ 関数の返り値の型をGenericsの型パラメータの推測に利用する Infer from generic function return types const array: string[] = (<T>(): T[] => [])(); のコンパイルが通るようになった ざっくりコンパイル通すために具体的に型を指定していた箇所を省略可能に Generics有りの関数の型パラメータが推論されるようになった Contextual generic function types これも上のと同様のメリット Genericsの型の互換性チェックがより厳密になった Stricter generic signature c
前回: ES6(ES2015)チートシート ES6に続いて、altJSの中でもひときわ勢いを感じるTypeScriptについて調べてみました。 概要 TypeScript = altJSの一種 オープンソース / マイクロソフト発 構文はJavaScript(ES5-6)と上位互換性がある ES6の構文はすべて使える 静的型付けによる型チェックができる点が特徴 その他、interface/enum/genericなど独自の機能が追加されている ES6と同様、開発時にjs(ES5)にトランスパイルすることで、ブラウザ上で実行できるようになる トランスパイルはnpmパッケージ(typescript)を使う 導入 試す(Playground) ブラウザ上でTypeScriptを書いて動かせるPlaygroundが公開されている。 http://www.typescriptlang.org/pla
はじめに この記事を書いて1年経ちました。 1年間でVue.jsとTypeScriptの環境は大きく変わりました。まずは、その辺を色々と紹介していきます。そのあと、サンプルを作成します。 2017年3月19日に追記 作成したサンプルがエラー吐くとのissueを受けたのを機に、サンプルを結構いじりました。サンプルも必ずチェックしてね。 この1年間で変わったこと Vue.js 2.0がリリースされた 新しいメジャーリリースに際し、TypeScript関連で一番大きく変わったのは、型定義ファイルの提供方法です。バージョン1まではDefinitelyTypedに型定義ファイルを登録していました。そのため、tsdやtypingsで型定義ファイルをダウンロードする必要がありました。 一方新しいバージョンからは、Vue.jsのリポジトリ内に型定義ファイルがあります。したがって、npmなどを使ってライブラ
主はおっしゃいましたwebpackはフロントエンドのjavascriptにだけ与えられたものではないと。よろしい!ではサーバサイドもTypeScriptでwebpackでes5(or es6 or es2015(まさかり対策))にしようではないか。 今回のサンプルはこちらに保存してありますm(_ _)m サーバサイドnodejsにも型が欲しかった そもそも、サーバサイドなら別に他の言語を使いなさいというのはもっともですが、IOレイヤーの処理のひとつにスクレイピングでデータを取得するという部分があって(もちろんseleniumでもいいんだが)、そいつをnightmareで書いていたので、これはもうwrapするレイヤーもnodejsで行くしかないなっという背景であります。 ただせっかくですし、サーバサイドですし、割りときっちりした型がほしいなぁと思いまして。それでTypeScriptをサーバサ
仕事でTypeScriptを書きながら「あ〜、真面目にドキュメント作るって面倒くさいよな〜」とか考えていたのですが、 そんな時に便利な素敵ツールTypeDocなるものがあったので使ってみたらとても捗りました。 TypeDocって何? TypeScriptのソースを解析してドキュメントを自動で作ってくれるツールです。まあ、jsdocのTypeScript版ですね。 jsdocより便利な点としては、アノテーションを書く必要がほぼありません。型情報とか全部ソースに書いてるんで。 jsdocのために @param {number} とか@classとかコメントで書くのダルいですよね。 人類はツールのためにコメントを書く責務から解放されつつあるのです。 使ってみた インストール TypeDocはnpmでインストールします。 npm install typedoc --save 個人的にグローバルイン
概要 JavaScript祭に参加してきたので発表資料や内容をまとめます。 間違いや追記などあればご指摘お願いします 初夏のJavaScript祭 in mixi twitter #jsfes 講演内容 講演資料 JSのエラーチェックツールを作ろうとした話 資料:https://www.slideshare.net/keisukeimura/javascript-76398722 ツイート:https://togetter.com/li/1115447 WW checkerを作った話 jsエラーやリンク切れなどを自動でチェックするツール 本日β版の事前登録開始! Draft.jsによる 統制のとれたテキスト編集の世界 資料:https://speakerdeck.com/potato4d/draft-dot-jsniyoru-tong-zhi-falsetoretatekisutobian
すると、staticキーワードに対してこんなエラーメッセージが。 Property or signature expected. (確認したTypeScrptバージョンはv1.5-betaです) 対応していないんだろうなとは思いましたが諦めきれずにぐぐってみると、stackoverflowの2年前のスレッドでstaticなメンバを持つinterfaceみたいなものを実現する方法が紹介されていました。 How to define static property in TypeScript interface この回答 方法としてはinstanceメンバを定義したinterfaceと、staticメンバとして扱うinstanceメンバを定義したinterfaceを作り、それぞれを型チェックされる側とする側で使い分ける、といった感じです。 実際にコードを書いてみるとこんな感じになります。 コード
以前に作成していた「Node.jsによるSNSアカウント認証と二段階認証」(以下WST)をReactでリプレースしました。どうして?元々は独自のフレームワークで実装していましたが、あるプロジェクトでReactを使う機会があり、とても気に入ったからです。React化そのものは数日で完了。しかしそこで終わりではありませんでした。ついでだからSPAにしよう、いまどき必要ないかもだけど初期表示で一瞬画面が表示されないのも気になるからサーバーサイドレンダリング(SSR)もやっておくか、という具合にとうとう3カ月以上の時間を費やすことになってしまいました。 「ソースコード」 web service template 4.4.1 「デモ」 https://www.printf.jp:8443/ 「機能一覧」 メールアドレスとパスワードでのログイン SNSアカウント(Twitter、Facebook、Go
(追記)2.0に対応しました。(2016/09/15) ここに書いていることは全て自己流のオレオレ環境なのであまり鵜呑みにしないでください。 今回のGitHubリポジトリ→ovrmrw/ovrmrw-ng2-env-20160725 まずは僕のマシン環境から。 Windows 10 64bit or 7 32bit Visual Studio Code (stable) 1.3.1 Node.js 6.3.1 Git 2.8.1 GitHub Desktop (Node.jsはnvm-windowsでインストールしています) Angular2やるならこれぐらいは最低限インストールしておく必要があります。 WindowsにおけるNode.jsの環境構築はWindowsでnpm installの赤いエラーに悩まされているアナタへも合わせてどうぞ。 Node.jsの6系はnode-sassインス
前 v3.19.0 | 次 v4.1.0 We're excited to announce that ESLint v4.0.0 has been released! https://t.co/sLe0kCwfMA — ESLint (@geteslint) 2017年6月12日 ESLint 4.0.0 がリリースされました! 主にはインデント ルールの改定、公開 API のクラス化、コメント関連の API 変更などです。エンドユーザー向けには特にインデント ルールの改定の影響が大きいでしょう。それ以外は見えないところが変わった感じだと思います。 Release note: 4.0.0-alpha.0 Release note: 4.0.0-alpha.1 Release note: 4.0.0-alpha.2 Release note: 4.0.0-beta.0 Release no
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く