プログラミング

スポンサーリンク
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – for…of の内部

for...of の「見た目」と「中身」は別物だと思ってみるfor...of は、表面上はとてもシンプルです。const arr = [10, 20, 30];for (const value of ...
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – Generator

Generator とは何か(まずイメージから)Generator(ジェネレータ)は、「少しずつ値を返しながら、一時停止・再開できる特別な関数」 です。普通の関数は、一気に最後まで実行されて「結果はこ...
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – Iterator

Iterator とは何か(まずイメージから)Iterator(イテレータ)は、「次の値をください」「もう終わりです」を順番に教えてくれる“値の自動販売機”のような仕組み です。自販機にコインを入れる...
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – Symbol

Symbol とは何か(まずイメージから)Symbol は、ES6 で追加された 「絶対にかぶらない“名前札”のような値」 です。string や number と同じ「プリミティブ型」の一種ですが、...
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – Nullish coalescing

Nullish coalescing とは何か(まずイメージから)Nullish coalescing(ヌリッシュ・コアレスシング)は?? という演算子で書く、「値が null または undefin...
JavaScript

JavaScript | ES6+ 文法:その他の ES6+ 機能 – Optional chaining

Optional chaining とは何か(まずイメージから)Optional chaining(オプショナルチェイニング)は?. という記号で書く、「存在しないかもしれないプロパティに安全にアクセ...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – 日付計算の注意点

日付計算が「思ったより難しい」理由日付計算は、一見「足し算・引き算だけ」に見えますが、実際には月末の長さの違い、うるう年、タイムゾーン、夏時間(DST)、日付の境界の扱いなど、落とし穴だらけです。ja...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – Clock

Clock を一言でいうとClock は「“今”をどう決めるかをカプセル化するためのオブジェクト」です。Instant.now() や LocalDateTime.now() が、裏側で「どの時計を使...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – Instant

Instant を一言でいうとInstant は「世界共通の“ある一瞬”を、UTC 基準で表したもの」です。人間が「2025年1月18日 10時(日本時間)」と考えるのに対して、Instant は「1...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – OffsetDateTime

OffsetDateTime を一言でいうとOffsetDateTime は「日付+時刻 + UTC からのズレ量(オフセット)」をセットで表すクラスです。ZonedDateTime が「タイムゾーン...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – TimeZone の扱い

まず「タイムゾーンって何者か」を整理するタイムゾーンは、ざっくり言うと「その場所の“ローカルな時刻”と、世界共通の時刻(UTC)をどう対応づけるかのルール」です。日本(Asia/Tokyo)は「UTC...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – 不変オブジェクトとしての日時

「不変な日時」ってどういうことかまず言葉からいきます。LocalDate や LocalDateTime、ZonedDateTime など java.time のクラスは「不変(immutable)」...
Java

Java | Java 詳細・モダン文法:日付・時刻 API – DateTime API 設計思想

なぜ新しい DateTime API が必要だったのかまず一番大事な背景からいきます。Java 8 で導入された java.time(DateTime API)は、「古い日付 API(java.uti...
JavaScript

JavaScript | 1 日 90 分 × 7 日アプリ学習:フォーム送信シミュレーター(初級編)

1日目のゴールと今日やること1日目のテーマは「フォーム送信の仕組みを“JavaScript で自由にコントロールできるようになる”」ことです。フォーム送信シミュレーターは、「入力 → 確認画面 → 擬...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – 実務利用判断

まずゴールをはっきりさせる:何を判断したいのかES6 の「新データ構造」と言われると、Map / SetWeakMap / WeakSetが一気に出てきて、「全部使えたほうがいいのかな?」と身構えがち...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – GC と Weak 構造

まず「GC」とは何か(やさしくイメージから)JavaScript の世界では、「もう使われなくなったデータを、自動で片付けてくれる仕組み」 が動いています。これを GC(Garbage Collect...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – size プロパティ

size プロパティとは何か(まずイメージから)size プロパティは、「そのコレクションの中に、今いくつ要素が入っているか」を教えてくれる数字 です。ES6 の新しいデータ構造では、MapSetに ...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – 反復処理

ES6 の反復処理とは何か(まずイメージから)ES6 以降の「新データ構造」(Map, Set, WeakMap, WeakSet)には、「反復処理しやすいように統一された仕組み」 が用意されています...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – Set による重複排除

Set で重複排除とは何か(まずイメージから)Set は「同じ値を 2 回入れようとしても、1 回分しか持たないコレクション」でしたね。この「同じ値は 1 つだけ」という性質を利用すると、配列に同じ値...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – Map vs Object

まずざっくりイメージ:Map と Object は「役割」が違う同じように「キーと値」を扱えるので、最初は「Map でも Object でもできるじゃん。どっち使えばいいの?」と感じると思います。ざっ...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – WeakSet

WeakSet とは何か(まずイメージから)WeakSet は、「オブジェクトだけを入れられる、弱い参照を持つ Set」 です。普通の Set と似ていますが、決定的に違う点がいくつかあります。1つ目...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – WeakMap

WeakMap とは何か(まずイメージから)WeakMap は、「キーをオブジェクトに限定した、”弱い紐づけ” をするための特別な Map」 です。普通の Map と似ていますが、決定的に違うのはここ...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – Set

Set とは何か(まずイメージから)Set は、ES6 で追加された「重複を許さない値の集まり(コレクション)」 です。配列:同じ値を何回入れてもいいSet:同じ値は 1 回しか入らないというイメージ...
JavaScript

JavaScript | ES6+ 文法:新データ構造 – Map

Map とは何か(まずイメージから)Map は、ES6 で追加された「キーと値のペアを柔軟に保存できる専用のコレクション」 です。似たものに「オブジェクト {}」がありますが、Map には大きな違いが...
Java

Java | Java 詳細・モダン文法:Optional – フィールドに Optional を持たない理由

そもそも Optional は「フィールド用」に設計されていないまず大前提として押さえておきたいのは、Optional は「戻り値用のコンテナ」として設計されている、ということです。「値があるかもしれ...
Java

Java | Java 詳細・モダン文法:Optional – Optional の誤用例

なぜ「Optional の誤用」を意識する必要があるのかOptional は「null を安全に扱うための道具」ですが、使い方を間違えると、むしろコードが読みにくくなったり、バグの温床になったりします...
Java

Java | Java 詳細・モダン文法:Optional – Optional.orElseThrow

Optional.orElseThrow を一言でいうとOptional.orElseThrow は「中身があればその値を返し、なければ“ここで失敗だ”と明示的に例外を投げる」ためのメソッドです。「こ...
Java

Java | Java 詳細・モダン文法:Optional – Optional.filter

Optional.filter を一言でいうとOptional.filter は「中身が“あるときだけ”条件をチェックし、条件を満たさなければ空にしてしまう」ためのメソッドです。Stream の fi...
Java

Java | Java 詳細・モダン文法:Optional – Optional.flatMap

Optional.flatMap を一言でいうとOptional.flatMap は「中身が“あるときだけ”、Optional を返す関数を適用し、その二重になった Optional を平らにして返す...
Java

Java | Java 詳細・モダン文法:Optional – Optional.map

Optional.map を一言でいうとOptional.map は「中身が“あるときだけ”変換し、なければ何もしないで空のまま返す」ためのメソッドです。null チェックしてからメソッドを呼ぶ、とい...
スポンサーリンク