Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

falsyな値の一覧の不足 #1378

Closed
ToshihiroWatanabe opened this issue Jan 15, 2022 · 4 comments
Closed

falsyな値の一覧の不足 #1378

ToshihiroWatanabe opened this issue Jan 15, 2022 · 4 comments

Comments

@ToshihiroWatanabe
Copy link

ToshihiroWatanabe commented Jan 15, 2022

該当ページ

演算子 · JavaScript Primer #jsprimer
暗黙的な型変換 · JavaScript Primer #jsprimer
関数と宣言 · JavaScript Primer #jsprimer
条件分岐 · JavaScript Primer #jsprimer

説明

falsyな値として7種類の値が挙げられていますが、正しくは-0を含めた8種類ではないでしょうか。

参考

Falsy (偽値) - MDN Web Docs 用語集: ウェブ関連用語の定義

@azu
Copy link
Collaborator

azu commented Jan 15, 2022

厳密にはそうだと思いますが、-0 自体を説明してないので、入れるのが適当かは微妙な気がしますね。
(厳密には区別されますが) 0 が + と - を包含してるとも読めます。
Falsyという用語自体がECMAScriptの仕様にあるわけではなく、あくまでよく言われる程度の言葉なので厳密な定義がない状態です。

-0 を区別して網羅するべきユースケースがあるなら、一覧として明示するべきだと思います。
ただ、この書籍で-0を区別して紹介してるところがないので、ここで -0 をいきなり出すと混乱しないかなという懸念があります。

Related:

@azu
Copy link
Collaborator

azu commented Jan 15, 2022

7種類 という言葉が限定してるように見えるので、次の値は〜 ぐらいで具体例としてリストアップする書き方もありそうですね。

または

  • 0 (+0-0)

📝 ここでリストアップしてる主な理由は、trueとなる値を覚えるのが難しいので、falseとなる値だけを覚えれば逆はtrueになるということを知るという点にあります。なので、直感的に理解するためのリストという側面が強いので、少ない方がノイズが減って直感的になりやすい。厳密にリストアップするように直すよりは、直感的に理解するためのリストという方向で直した方が良さそうだとは思っています。

@azu
Copy link
Collaborator

azu commented Oct 6, 2022

次の値は、暗黙的な型変換をすると `false` となることが仕様で決まっています。

...

これらの値のことをfalsyな値と呼びます。

@azu
Copy link
Collaborator

azu commented Oct 10, 2022

falsyは仕様的な定義があるわけではないのに、
仕様的な定義っぽく書かれていたので、もう少し通称的な意味として読めるように変更。
-0+0については、特に言及しないままの形にしました。
#1482

@azu azu closed this as completed Oct 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants