You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
JavaScript学習のついでに、TypeScriptも学んでみます。 今日は、TypeScriptの「総称型」という機能について調べてみました。 オンラインのTypeScript実行環境 総称型とは? 総称型の仕組み 型引数とは? 型の情報(種類)を入れておく変数 用語 総称型と多重定義の違い (1)似た機能の関数がバラバラに用意されている状態 (2)引数を使って似た機能をまとめた関数 (3)引数のデータ型が違うけど、機能が似ている関数 (4)「Any型」で全部の型を引き受けられる関数 (5)オーバーロードで型チェックを実現した関数 オーバーロード(多重定義)とは? シグネチャーとは? (6)オーバーロードした関数を総称型で1つにまとめる 総称型の使いどころ 総称型(ジェネリック)の特徴 リファクタリングとは? まとめ オマケ オンラインのTypeScript実行環境 ブラウザー上で、
無料で自動化環境を整備できることで有名な Google Apps Script ですが、以前はブラウザで JavaScript を用いて開発する必要があったため辛い部分もありました(人による)。 現在は公式からローカル開発をするための公式 CLI ツールが提供されているので、静的型付けの恩恵を受けるべく TypeScript を用いて開発できるようにしてみました。 公式の CLI ツール G Suite Developers Blog: Advanced Development Process with Apps Script danthareja/node-google-apps-script: The easiest way to develop Google Apps Script projects インストール自体は Node.js が入っている環境であれば npm install
このサイトについて TypeScriptのハンドブックを日本語に翻訳してまとめています。 GitHubのMicrosoft/TypeScript-Handbook の内容を参考に作成していますが、非公式で個人による作成物であるため、誤りがあると思います。その点についてはご了承ください。 もし、間違いを見つけましたら、 @tomof まで教えていただければ幸いです。 このサイトではGitHubのドキュメントを元に翻訳していますが、同じ内容のドキュメントがTypeScriptの公式サイトに公開されています。 Back to top © https://github.com/Microsoft/TypeScript-Handbook このページは、ページトップのリンク先のTypeScript-Handbook内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式の
色々あってシンプルなtypescriptの開発環境をつくろうとして消耗した話です 小規模なプロジェクトをシュって書けるシンプルな環境がほしい でもナウくなっててほしい そもそもナウいとは... 最近のフロントエンドの人は何を言ってるのか全然わからないし依存パッケージが多すぎて混乱する でもちょっとはナウくなっててほしい 試行錯誤した結果 npm scripts + browserify + tsify + watchify で構成することにきめた. 本体を1行も書かないまま日付が変わっていた. もうナウくなくていいから本体が書きたい 構成 とりあえずbuildすると色々なものがdistに送られる構成にした ├── dist (static-assets) │ ├── bundle.js │ ├── bundle.css │ └── index.html ├── src │ ├── ts │
追記1:Quramyパイセンから"定義にジャンプする"の解決が違う旨教えてもらったので修正 こんばんは@vvakameです。 TypeScript 2.1(RC)がアナウンスされましたね。 2.0系の正式リリースである2.0.3が9/22のリリースなので、1月半でminor versionが上がりました。 変更点まとめ 公式ブログ記事では小さい更新かと思いきや、Roadmapを見ると結構たくさんの更新があります。 トランスフォームベースのJSコード生成 (Switch to a transformation-based emitter) generatorのdownpileとかに必要だった認識(今回はgeneratorのdownpileはなしっぽい async/awaitのes3 or es5 downpileのサポート (async/await support for ES5/ES3)
テストランナーとは、様々なブラウザでテストを実行し、その結果をまとめてレポートするためのツールを指します。Karma は Node.js 上で動作するテストランナーです。元々はTestacular という名称で Google が AngularJS の開発で使うために作ったものですが、2012 年にオープンソース化されたタイミングで業 ( カルマ ) を背負った名称に変わりました。 Karma - Spectacular Test Runner for Javascript 本記事では、Jasmine をベースにしてテストコード ( 実処理 ) を記述し、それらを Karma から実行してレポート ( テスト結果 ) を確認するという流れで進めていきたいと思います。 環境構築 前提条件 Mac OS X Yosemite node.js インストール済み (v5.4.0 ~) npm イン
トレンドに乗るためにはトレンドを自分の方に捻じ曲げるのが一番いい、ということで、Twitter で日夜 GraphQL, GraphQL と騒いでいる日々であります。 GraphQL の話、スライド上げました https://t.co/hTUvA9Fajt ハンズオンに良さそうなコードや解説記事などもそのうち公開します #tng23— KOBA789 (@KOBA789) 2016年10月22日 先日、tng23 で「GraphQLの話」をしてきました。解説記事とか書くみたいなことをノリで口走ったので、これは伏線回収です。 GraphQL は公式のドキュメントが充実しています。とはいえ、全部英語なので日本にはあまりリーチしてないですね。みなさん英語読んで……。 母語でない言語で書かれた文章を自分のペースで読みながら、そこに書かれている新しい概念を獲得するってのは結構な重労働です。そこで、お
先日 TypeScript の新しいメジャーバージョン 2.0 のコンパイラの beta 版がリリースされました. Announcing TypeScript 2.0 Beta What's new in TypeScript コンパイラのチェックの強化や非 null 型,tagged union など,いくつかの機能が追加・強化され,自分の趣味プロジェクトでも恩恵に与れそうだったので試しに移行してみました. 移行してみたのは下記の Electron でつくり中の Twitter Client アプリ(React+Redux)で,全体で大体 15000 行ぐらいです. github.com 下記の手順で修正してみました. コンパイラをアップデートしてビルドしてみる --noImplicitThis,--noUnusedLocals, --noUnusedParameters を有効にしてみ
はじめに 以前、React JSX with TypeScript(1.6)にて書いたことがありますが、TypeScript 1.6以降ではReact JSXを直接コンパイルできるオプションが追加されています。 一般的にクライアントサイドWebアプリ開発は以下の3言語が土台ですが、 JavaScript HTML CSS TypeScriptのお陰で、1.と2.についてはタイプセーフな世界を手に入れたことになります(HTMLの要素名や属性名まで含めて、コンパイル時のチェックがされる) JavaScript -> TypeScript HTML -> React JSX(.tsx) CSS -> ??? こうなると、3. におけるCSSについても、何とかできんものかと期待するのが人情です。 今回のエントリは、CSS ModulesをTypeScript JSX環境に統合することで、タイプセー
TypeScriptでのフロントエンド開発環境作成総まとめ - $shibayu36->blog;やKarma, Mocha, Chaiを使ってTypeScriptでのテスト環境を構築する - $shibayu36->blog;の続きです。 JavaScriptで実装していると、できる限りDOM操作とロジックを分割しても、DOMを触るコードがある程度存在してしまいます。個人的にはその時にDOMも含めた簡単なユニットテストを書いておけると、開発もしやすくなるし、少し安心感も出ます。 karmaを利用してJSのテストを実行しているのであれば、karma-html2js-preprocessorを利用すればDOM操作やクリックイベントに伴う変化とかそういうのもテストできるのですが、TypeScriptを使っていて少しだけハマったのでメモとして残しておきます。 karma-html2js-prep
はじめに こんにちは。ナルゲンボトル愛好家です。ふと思い立ってChrome拡張作ろうかなと思ったんですが、どうせならTypeScriptでやるのがいいじゃねえかってことでやりました。で、最近ブログ書いてないし、なんかまとめたらいい感じかなと思ったのでまとめます。 構成 . ├── dist // 生成された拡張 │ ├── context-menu.js │ ├── icons │ │ └── icon48.png │ └── manifest.json ├── gulpfile.js ├── .eslintrc.json ├── package.json ├── static │ ├── icons │ │ └── icon48.png │ └── manifest.json ├── ts │ └── src │ └── context-men
npm dependenciesを更新してGitHub Compare Viewのリンク付きでPRするツールを定期実行する - Islands in the byte stream このci-npm-updateはTypeScript 2.0 (beta) で書いたので、TypeScript+NodeJSツールを開発するときのプロジェクト構成の一例としてざっと解説しておきます。 最近はRailsなどのウェブアプリのJSもnpmで管理するようになったため、そういう条件でNodeJSツールを開発することも増えてくることでしょう。 Table of Contents Table of Contents エディタ tsconfig.json TSLint Task Runner Visual Studio Code Tasks shrinkwrap 所感 See Also エディタ Visual
ウェブ制作の現場では作業の自動化を行うことが多いです。Node.jsインストール時に付属するnpm (Node Package Manager)を使用すれば、タスク処理が実現できます。 npmとはNode.jsのモジュールを管理するためのツールであり、タスク処理にはnpmの機能のnpm-scriptsを使用します。本記事はnpm-scriptsを使ったタスク実行環境が構築できることを目標に解説します。 そもそもnpm-scriptsとは何か? npm-scriptsとは、package.jsonファイルに記述可能なシェルスクリプトのエイリアスです。エイリアスとはコマンド名を別のコマンド名に置き換えることです。以下のnpm-scriptsはHello world!!を表示させるコマンドのエイリアスを作成する例です。 ▼package.jsonファイル { "scripts": { "say"
これまで自分のブログで、TypeScriptを使ったフロントエンド開発環境についてブログをいくつか書いてきた。ひとまずこの辺りで、TypeScriptでフロントエンドを開発するための最低限の環境を構築できるようになったので、総まとめとしてブログエントリを書いておく。 今回のサンプルコードは https://github.com/shibayu36/typescript-project-sample/tree/4653cd002eef3ee1946a2ca1da344e0076b2844f に置いたので参考に。 これまでの記事 EmacsでTypeScript環境を整える - $shibayu36->blog; JSをbrowserifyでビルドし、ライセンスコメントを適切に残す - $shibayu36->blog; gulp + browserify + tsifyを利用してTypeSc
去年の夏、私たちは大量のコードベース(18,000行以上の コード行数 )をJavaScriptからTypeScriptへと変更しました。この移行作業を通じて、両者の相違点や類似点について大いに学び、TypeScriptの優れたユースケースや、TypeScriptを使うべきではないケースなどについて考えてみました。 型システムとは補助輪のようなものです。転倒防止してくれる代わりに、遅くなり、操作性が制限されます。 TypeScriptのユースケース コードサイズ :ソースコードが膨大である場合、また複数の人がプロジェクトに従事している場合、型システムは明らかなエラーを防ぐのに役立ちます。 特に SPA の場合は当てはまります。誰かが変更したコードが他の人のコードを破損させてしまう可能性があるなら、何らかの安全機構を持つ方がいいでしょう。TypeScriptの トランスパイラ は明白な誤りを
http://qiita.com/mizchi/items/3bbb3f466a3b5011b509 で紹介したモダンJSスタックの上に、flowtype を導入して型をボトムアップに追加していくアプローチを紹介します。 なぜflowtypeか、そのゴールは 流行っているライブラリのみを組み合わせて使う場合や、バックエンドとの連携において型が十分に提供される環境なら、正直、flowtypeよりtypescriptでいいと思っています。flowtypeが力を発揮する環境は、既存のJSが大量に存在する環境や、railsなどの動的な型のフレームワーク環境で、静的な定義が抽出できない環境だと思います。 よほど品質が低いライブラリを使わないかぎり、バグはほとんど自分が記述したコードによって発生します。なので、まずは「自分が書いたコードのIFを明確にし、その静的なチェックを行なう」、というのを最初の目
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く