このプロジェクトについて

# What the f*ck JavaScript? このリポジトリは、2012年のdotJSでのBrian Leroux氏のトーク「WTFJS」に触発された、ユーモラスで不可解なJavaScriptの例のコレクションです。クレイジーなコードスニペットを集め、しばしばECMA-262仕様を参照しながらその動作を説明することを目的としています。 このハンドブックはnpmパッケージ(`wtfjs`)としてオフラインで読むことができ、中国語、ヒンディー語、フランス語、ポルトガル語、ポーランド語、イタリア語、韓国語を含む複数の言語に翻訳されています。 ## 内容の概要 このリストには60以上の例が含まれ、それぞれにコードスニペットと詳細な説明が付いています。トピックは以下をカバーしています: - **等価性と型強制の奇妙さ**:例えば、`[] == ![]`は`true`、`true == []`は`false`、`null == false`は`false`。 - **NaNと数値の特異性**:`NaN === NaN`は`false`、`Number.MIN_VALUE > 0`は`true`、`parseInt`のエッジケース。 - **配列と文字列の挙動**:配列の連結、末尾のカンマ、配列の等価性の怪物。 - **関数とクラスの異常**:`class Foo extends null`のエラー、アロー関数がコンストラクタにならないこと。 - **その他のトリック**:`"b" + "a" + +"a" + "a"`が`'baNaNa'`になること、JavaScript内のHTMLコメント、`document.all`がundefinedであること、など。 各例には、ECMA-262仕様の関連セクションや外部参照へのリンクが注記されており、より深い理解を求める初心者にも、JavaScriptの予期せぬ境界の集大成を求めるプロフェッショナルにも有用なリファレンスとなっています。 ## 動機 主な目的は楽しさと学習です。著者は、初心者であれ経験豊富な開発者であれ、読者が仕様を探求し、何か新しいことを発見することを奨励しています。 ## 使用方法 npm経由でインストール: ``` $ npm install -g wtfjs ``` その後、`wtfjs`を実行すると、お好みのページャーでマニュアルが開きます。 ## 翻訳 コミュニティによって維持されている翻訳がいくつかの言語で利用可能ですが、すべての例が含まれていたり、完全に最新であったりするわけではありません。 ## ライセンス WTFPL 2.0ライセンスの下でリリースされています。