SugitaNaoto– Author –
-
TypeScript
TypeScriptクラス(class)入門!定義・継承と使わない設計
TypeScriptのクラスは、データと振る舞いを型安全にまとめるだけでなく、継承や抽象化といった強力なオブジェクト指向プログラミングを可能にする重要な機能です。 一方で、近年のモダンなフロントエンド開発ではあえて「クラスを使わない」関数型のアプロ... -
TypeScript
TypeScriptのキャスト(as)と型変換:JSONやEnumのパース
TypeScriptの「型キャスト(as)」はコンパイラに型を認識させる強力な機能ですが、実際のデータ変換(パース)とは異なるため、使い方を誤ると予期せぬ実行時エラーの温床になります。 本記事では、初心者が陥りがちな罠に触れつつ、実務で頻出するJSONの... -
TypeScript
【TypeScript】fetchの使い方:基本の型定義・ラッパー作成・モックテスト
TypeScript環境で標準APIである「fetch」を型安全に使いこなすガイドです。 基本的なリクエスト(GET/POST)、実務で必須となる汎用ラッパーの作成、React/Next.jsでの活用、コード自動生成やテスト手法まで解説します。 【TypeScriptにおけるFetch APIの... -
TypeScript
【TypeScript】union(ユニオン型)の基礎から判別可能なユニオンまで
TypeScriptにおける型システムの柔軟性と安全性を象徴する機能が「Union(ユニオン)型」です。 JavaScriptが持つ動的な性質を活かしつつ、コンパイル時に厳密なチェックを行う機能になります。 本記事では、基本構文から実務で必須となる「型ガード(Type... -
TypeScript
【TypeScript】DDD完全ガイド:型安全なドメイン駆動設計の実践
本記事では、TypeScriptを用いてDDDを実践するための具体的な実装パターンやTypeScript特有の型システムを活かしたテクニックを徹底解説します。 【DDD(ドメイン駆動設計)の基本概念とTypeScriptの相性】 DDDは、ソフトウェアが対象とする業務領域(ドメ... -
TypeScript
【TypeScript】declareとは?グローバル変数やモジュールの型定義
TypeScript開発において、コンパイラが「そんな変数は存在しない!」とエラーが起きてるのに、ブラウザ上では正常に動いてるという現象に遭遇することがあります。 そのギャップを埋めるのが「declare」です。 本記事では、アンビエント宣言(Ambient Decl... -
TypeScript
【TypeScript】constructorの使い方:省略記法・継承・オーバーロード
コンストラクタは、クラスからインスタンスを生成する際、newキーワードとともに一度だけ自動的に呼び出されるメソッドです。 主に、オブジェクトが持つデータ(プロパティ)の初期値を設定する役割を担います。 TypeScriptにおけるconstructorは、単なる... -
TypeScript
【TypeScript】dictionary(辞書型)を実装する手法と最適な選び方
TypeScriptにおいて「辞書型(連想配列)」をどのように型定義し、実装するかはアプリケーションのパフォーマンスと型安全性に直結する重要なテーマです。 本記事は、TypeScriptにおけるdictionaryを実装する方法と選び方について解説します。 【TypeScrip... -
TypeScript
【TypeScript】Propsを型安全に定義する(コンポーネント設計の極意)
React(またはNext.js)とTypeScriptを組み合わせて開発する際、コードを書く頻度が高く、かつ設計の腕が問われるのが「Props(プロパティ)」の型定義です。 コンポーネント間でデータを受け渡すPropsに厳格な型を付けることで、実行時エラーを防ぎ、エデ... -
TypeScript
【TypeScript】extendsにおけるinterface/ジェネリクス/条件付き型
本記事では、「TypeScript extends」を軸に、4つのパターンであるinterfaceの継承、classの継承、ジェネリクスの型制約、条件付き型を整理し、実務でどう使い分けるか解説します。 【interfaceの拡張(継承)におけるextends】 TypeScriptで最も利用される...
