ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の予期しない 8 進整数の解析を回避するにはどうすればよいですか?

JavaScript の予期しない 8 進整数の解析を回避するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 08:25:11947ブラウズ

How Can I Avoid JavaScript's Unexpected Octal Integer Parsing?

JavaScript の 8 進数の落とし穴と実際的な回避策

JavaScript で整数の解析を処理する場合、先行ゼロが発生したときの型破りな動作を認識することが重要です。 JavaScript はこれらを 8 進整数として解釈するため、予期しない結果が生じます。

たとえば、'08' と '09' を解析すると、base-8 には存在しないため、0 が返されます。この罠を回避するには、次のような回避策がいくつかあります。

1.明示的な基数指定:

基数 (基数) を明示的に指定することにより、先頭のゼロを 10 進数として扱うように parseInt に指示します。

parseInt('08', 10); // 8
parseInt('09', 10); // 9

2. Number オブジェクト:

Number オブジェクトは、parseInt のより簡単な代替手段を提供します。入力は自動的に 10 進整数に変換されます。

Number('08'); // 8
Number('09'); // 9

追加メモ:

JavaScript 標準 (ECMA-262) バージョン 5 では、次のような重大な変更が導入されています。この 8 進数の動作。ただし、この変更はブラウザー、特に古いバージョンでは広くサポートされていないことに注意することが重要です。したがって、ブラウザ間の互換性のために上記の回避策を実装することをお勧めします。

以上がJavaScript の予期しない 8 進整数の解析を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。