Skip to content

Instantly share code, notes, and snippets.

JavaScriptではよく「==」ではなく「===」を使ったほうがいいと聞きますが、いまいち理由がわかっていなかった(なんか厳密になる?くらい)のでまとめました。

== は引数の型が異なる時に使ってはいけない

よく聞く「==は厳密な比較ができない」というのは、__引数の型__に問題があります。

JavaScriptでは暗黙の型変換がありますので、== による比較によって比較対象の型が意図しない方法で比較される恐れがあります。

Effective JavaScriptによると、==演算子によって強制的に引き起こされる振る舞いは以下のようになります。

@y-temp4
y-temp4 / package.json
Last active December 17, 2025 14:41
Manusで試しに作ったアプリのpackage.json
{
"name": "app-template",
"version": "1.0.0",
"type": "module",
"private": true,
"main": "expo-router/entry",
"scripts": {
"dev": "concurrently -k \"pnpm dev:server\" \"pnpm dev:metro\"",
"dev:server": "cross-env NODE_ENV=development tsx watch server/_core/index.ts",
"dev:metro": "cross-env EXPO_USE_METRO_WORKSPACE_ROOT=1 npx expo start --web --port ${EXPO_PORT:-8081}",