こちらの記事は、Indrek Lasn 氏により2018年 3月に公開された『 TypeScript — JavaScript with Superpowers — Part II 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 著者Twitter https://twitter.com/lasnindrek Enum(列挙型)を使用すると、わかりやすい名前で値をグループ化できます。 例えば名前のリストがあるとします。するとEnumの構造は次のようになります: そしてそのEnumからこのようにして値を取得できます: でも待ってください...値のインデックスを表す整数が返されています。配列と同じくEnumはメンバーのインデックスは0から始まります。 0ではなく"Indrek"という値を取得するにはどうすればよいのでしょうか? 値が文字列として表示されているのに注目して
Skip to the content. clean-code-typescript TypeScriptの為のクリーンコード clean-code-javascriptを見て閃きました。 Table of Contents Introduction Variables Functions Objects and Data Structures Classes SOLID Testing Concurrency Error Handling Formatting Comments Translations Introduction Robert C. Martinの書籍 Clean CodeをTypeScriptに対応させたソフトウェア工学の原則です。 翻訳書籍(amazonへのリンク) これはスタイルガイドではありません。 TypeScriptで可読性が高く、再利用可能であり、リファクタ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? The future of TypeScript on ESLint:https://t.co/PTCWKWN22s — ESLint (@geteslint) January 18, 2019 ESLint の TypeScript サポートの今後について、公式にアナウンスがありました。 要点をまとめると、 TypeScript チームが TSLint から ESLint に切り替えていくと発表したよ。 ESLint チームと TypeScript チームが協力して開発を進める場として、typescript-eslint プロジェクト
はじめに 今年の1月頃から始めたTypeScript を使って Alexa Custom Skills を作ろうの投稿のまとめです。 以前の記事と重複する点が多々あるかと思いますが、始めた頃はSDKがV1だったこともあり見直しをしました。 前提条件 Node.js / npm がインストールされていること ASK CLIをインストール、セットアップ済みであること 設計 アーキテクチャパターンについて考える せっかく TypeScript を使うのに、ただTypeScriptで書くだけではつまらないので、 WEBアプリケーションフレームワークのMVCのようなアーキテクチャパターンをカスタムスキル作成でも考えてみます。 MVCをざっくり解説 MVCでは、プログラム構造を大きく以下の3つに分割しています(ざっくり)。 名前 | 概要 :---:|:---|--- Model(M) | ビジネスロ
v0.57でいろいろ変わるという記事を書きましたが、本当にMetro BundlerがTypeScriptを食べてくれるのか半信半疑だったので、実際に試してみました。 結論 ビルドだけならゼロコンフィグに近い感じで行けました。型チェックをする場合はMSのブログでのやり方よりも、もうひと工夫必要です。 サンプルコード v0.57.0-rc.3でプロジェクトを作ってみました。これをベースにお話します。 前提条件:Babel 7のTypeScript対応の仕組み React NativeのTypeScript対応は、Babel 7のTypeScript対応に乗っかった形で実現されています。 ここで重要なのは、 Babelはtscを内部で実行するわけではない ということです。 今回導入された@babel/preset-typescriptは、FlowTypeの babel-plugin-flow-
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
はじめに 自分もAlexaスキルを作ってみようとちょっといじってみた。 Alexaスキルのバックエンドには AWS Lambda を Node.js ランタイムで利用するのが手っ取り早い。 どうせなら、この機会に Typescript も使ってみようと思って Typescript と VSCode にも入門した。 また、Lambdaのデプロイ等の操作には今の所、 AWS SAM よりも 手間が少ないと感じる Serverless Framework を利用している。 Serverless Framework にはGithubなどで公開されている既存のアプリケーションを元にアプリケーションの雛形を作る機能(serverless install)があるので、ベースの部分をテンプレートとして公開してみた。 HeRoMo/serverless-aws-alexa-ts READMEの日本語版がわり
経緯 先日、TypeScriptでAlexaスキルを作ったことについてLTする機会があったので、あわせて(?) alexa-skill-typescript-template というリポジトリでAlexaスキルをTypeScriptで作るテンプレートを公開しました。 AlexaのカスタムスキルはAWS Lambdaを使って開発することが多いかと思うのですが、調べていた限りではなかなかTypeScriptで開発されているドキュメントはあまり多くありませんでした。 自分としてはTypeScriptで開発した方が今までのAWS Lambdaを使った開発の中でも効率が良かったと感じたので、自分が公開しているAlexaスキルの開発でも利用しているもので共有出来る部分をテンプレートとして公開してみました。 (また、2018年4月にリリースされたAlexa Skills Kit SDK v2 for N
{ "references": [ { "path": "../core/" } ], "compilerOptions": { "declaration": true, /* Generates corresponding '.d.ts' file. */ "composite": true /* Enable project compilation */ } } "composite": true を指定し、かつ "declaration": true を指定する必要があります。 declaration無しでもエディタ上では一瞬それっぽく動くんですがコンパイル時に怒られたりするので絶対両方指定します。 現時点ではエディタの言うことを信じてデバッグしようとすると辛い目にあうのでtscの出力を信用しましょう。 --build について tscに --build というオプションが追加されて
qiita.com はてなエンジニア Advent Calendar 2017 5日目の記事です。 前回はid:chris4403によるAmazon Pollyを試してみた - memo logでした。いやぁ社長さすがです!! さて今日はEnumについての話題です。 TypeScriptは実行時に影響を及ぼすような独自機能は積極的に導入しない傾向にありますが、ぱっと思いつく例外がEnumとNamespace(旧Internal module)です。 今日はそのEnumについての話です。 Enumのコンパイル結果 TypeScriptを書く上でJavaScriptへのコンパイル結果を意識することは少ないと思いますが、Enumについてはコンパイル結果を知っていたほうが理解が早いと思われます。 例えば以下のコードは enum IdolAttr { cute, cool, passion, } 以
連載目次 TypeScriptの言語としての進化はすさまじいものがある。本フォーラムでもTypeScript 2.1については(全てではないものの)その機能を概観していたが、その後、新しい機能がずいぶんと増えている。そこで、本稿ではTypeScript 2.2~2.5までに追加された新機能を幾つか見ていくことにしよう。 TypeScript 2.5までに追加された新機能 TypeScriptの「What's New」を基に、TypeScript 2.2~2.5までの間に追加された機能を以下に幾つか列挙しておこう。もちろん、これらが全てではない。詳細については前掲のリンクからバージョンごとのリリースノートを参照されたい
NetjsのNObject.GetTypeの実装を見て目から鱗が落ちたのでメモ。 TypeScriptで実行中にオブジェクトが自分自身のクラス名を動的に知る方法です。つまり、変数の型が何であろうともnewされた時の型名が分かるかという問題です。 class ClassA { tellMeClassName() { console.log("My name is "+this.constructor.toString().match(/function (\w*)/)[1]); } } class ClassB extends ClassA { }
TypeScript の strictNullChecks オプションというものを知ったのでメモしておきます。 tsconfig.json の compilerOptions に "strictNullChecks": true を追加しておくと便利。 これをすることで、string や number などに null や undefined を代入することが出来なくなる。 let name: string; name = null; ← ここでコンパイルエラー let count: number; count = undefined; ← ここでコンパイルエラー null や undefined を代入したい場合は、型指定時に明示しておけばOK。 let name: string | null; name = null;
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く