1. ホーム
  2. javascript

[解決済み] 10e1` は整数リテラルですか、それとも浮動小数点リテラルですか?

2022-02-10 07:53:55

質問

について調べていたところ この記事 という疑問があり 10e1 は整数リテラルまたは浮動小数点リテラルです。

私が知っているのは 100 はIntegerリテラルです。次のように書くと、何か違いがありますか? 10e1 の代わりに?

でチェックすると 仕様はこちら (7)または こちら (5.1)では、"Floating Point Literal"という名称は存在しません。これはMDNにある間違ったドキュメントに過ぎないのでしょうか?Floating Point Literalが何を指しているのか、何か心当たりはありませんか?

要約すると

  1. はたして 10010e1 は同じリテラルに分類されるのでしょうか?もしそうなら、どちらですか?
  2. 浮動小数点数リテラルというものはありますか?

どのように解決するのですか?

<ブロッククオート

と書くと、何か違いがあるのでしょうか? 10e1 ではなく 100 ?

結果オーライではありません。しかし、転送と解析のために1文字多くなる(だから、より良いのは 1e2 また、可読性にも影響します。誰もが指数に慣れているわけではありません。

仕様書には、浮動小数点数リテラルという名称はありません。これもMDNにある間違ったドキュメントなのでしょうか?

MDNガイドは確かに怪しい。JSの型についての記事でセクションに "Integers" と名付けるのは、少なくとも混乱を招く。

10010e1 は同じリテラルに分類されるのでしょうか?もしそうなら、どちらですか?

はい、どちらも数値リテラルです。JSは小数部のあるなしを区別せず、すべて同じ浮動小数点数型を持っています。10進数リテラルの文法は1つだけで、端数の桁数や指数はオプションです。

<ブロッククオート

Floating Point Literalとは何を指すのでしょうか?

Integer literal"が整数を表す浮動小数点数に対する(数値)リテラル"を意味するように、quot;浮動小数点数に対する(数値)リテラル"という意味です。