JavaScript 4©2ch.net

2014/12/05(金) 12:19:07.19ID:fmzBASgG
( ^ω^) 初学者・迷子・ロリ幼女はこちらで
  _、_
( ,_ノ` ) プロフェッショナルはECMAScript デス 4へ

【前スレ】
JavaScript 3
http://peace.2ch.net/test/read.cgi/tech/1380177260/

【関連スレ】
ECMAScript デス 4
http://peace.2ch.net/test/read.cgi/tech/1325448978/
+ JavaScript の質問用スレッド vol.117 +
http://peace.2ch.net/test/read.cgi/tech/1404146244/
CoffeeScript
http://peace.2ch.net/test/read.cgi/tech/1320949260/
TypeScript part1
http://peace.2ch.net/test/read.cgi/tech/1349187527/
構造化ウェブプログラミング言語Dart2
http://peace.2ch.net/test/read.cgi/tech/1319388343/
Microsoft SkyDrive API
http://peace.2ch.net/test/read.cgi/tech/1385604796/
【MACRO】Google Apps Script 質問スレ【DRIVE】
http://peace.2ch.net/test/read.cgi/tech/1404007623/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
2015/06/01(月) 23:22:02.34ID:qMAgmJxR
>>177
それは別な名前を使うってことじゃないの?
それなら>>159で書いたよ
2015/06/01(月) 23:23:01.97ID:VQX8/s75
>>178
> だから、どのように作り方が悪いのかを>>159で聞いているわけ

簡単な話。

.loadでAというファイルとBというファイルの
二つを読み込んだ時を考えればいい。

同じ変数を使っていれば、混乱が起きる。
だから.loadなんかを使っては駄目だ。

REPLはAというファイルの前に
別のファイルを読み込んでいると考えればいい。

nodeの標準に合わせてrequireで読み込め。
.loadは簡易なツールにすぎない。
2015/06/01(月) 23:23:03.40ID:e+Q3qVuq
>>180
プログラマなら皆、知ってるから
2015/06/01(月) 23:23:55.32ID:VQX8/s75
>>180
_.なんていかにも意味ありげに書かれてたら、知らない人間は
普通調べる
2015/06/01(月) 23:29:50.29ID:qMAgmJxR
>>182

> .loadでAというファイルとBというファイルの
> 二つを読み込んだ時を考えればいい。
これに関しては自分の場合は混乱が起きたことは無いな
REPLで必要になるのは常に新しくロードされたものだから

> nodeの標準に合わせてrequireで読み込め。
.> loadは簡易なツールにすぎない。
その簡易なツールとしての使い方を聞いたつもりだが、まぁうまい方法は無いってことで
答えてくれたことは感謝するよ、ありがとう
2015/06/02(火) 07:22:03.36ID:ex2Jk34L
>>183-184
こんな記述を許すなんて、webプログラマはどうかしてるわ
C++等の堅牢な言語が理解できないからスクリプトに逃げたってのもあるのかねぇ
2015/06/02(火) 07:56:44.99ID:ex2Jk34L
javascriptって手作業感のあるかなりアナログな言語だよな。
コンパイルすれば型間違いやスペルミスを全部チェックしてくれるC++の方が楽だわ。
188デフォルトの名無しさん
垢版 |
2015/06/02(火) 08:03:09.37ID:rgUwgwJK
デフォルトで存在しなければならないような機能の構文は
可能な限り軽くしたい、というだけの話なのだが、
まあ、キチガイみたいだし、相手にする必要もなさそう。
189デフォルトの名無しさん
垢版 |
2015/06/02(火) 08:07:16.76ID:rgUwgwJK
>>187
>コンパイルすれば型間違いやスペルミスを全部チェックしてくれるC++の方が楽だわ。

静的検査なのに型安全じゃないクソみたいな型システム自慢されても……
2015/06/02(火) 10:18:05.55ID:JpMYfsQK
>>186
$と_を選択したjQueryとundersocreの作者は天才だと思うぞ
2015/06/02(火) 11:02:57.63ID:fIlyBYj2
>C++等の堅牢な言語が理解できないからスクリプトに逃げたってのもあるのかねぇ

ここ笑うところでOK?
2015/06/02(火) 11:03:56.96ID:Liw06aa4
C++が型安全じゃないってどういうこと?
2015/06/02(火) 11:47:29.34ID:JpMYfsQK
>>192
検索してみた

『型安全性とは何か』
http://postd.cc/what-is-type-safety/
2015/06/02(火) 12:47:31.17ID:qfQ5Cs59
スクリプト言語なら_とかもありだと思うよ
直感的に理解不能なのはむしろC言語のテクニカルすぎるポインタ操作とか、処理系依存処理
2015/06/02(火) 17:49:06.36ID:RKN2cQRO
>>190
思わない。逆にショボッと思うだけ。
2015/06/02(火) 17:53:04.66ID:4q1LDLUC
Yes, I do.
2015/06/02(火) 20:48:01.61ID:80AN9G/c
>>195
理由は?
2015/06/02(火) 20:57:50.64ID:ex2Jk34L
_なんて使わないで堂々と大文字でUNDERSCORE.でいいのに
面倒くさいから_にしたなんていっても、
UNDERSCOREのようなループ処理は他の頻出するキーワードに比べてそう頻繁に使うもんじゃないから、
UNDERSCOREと打ち込むくらい苦にはならない
むしろ見ただけでUNDERSCOREとわかるメリットのほうが大きい。
2015/06/02(火) 20:58:44.32ID:80AN9G/c
>>190
> $と_を選択したjQueryとundersocreの作者は天才だと思うぞ

天才じゃなくてズルいと思ったな。
そんな特等席を取るなんてw

でもjQueryとlodashなら許せるよ。

DOM操作目的が多いJavaScriptで標準よりも
優れたライブラリに仕上げたjQueryは高く評価できるし。

JavaScriptという言語自体に足りない(そして他の言語にはある)
基本的な機能を備えたlodashも一文字名前空間を与える価値はある。

これ以外に一文字を与える価値が有るものなんてまず無いだろう。
(あえて言うのなら多言語のためのgettextだろうね)

http://ja.wikipedia.org/wiki/Gettext
> まず、gettextが利用されるようソースコードの修正を行なう。これはほとんどのプログラミング言語において、
> ソースコード中の文字列がまずgettext関数へ渡されるよう、文字列をラップしていく作業となる。
> 読みやすさやキータイプの手間を省くため gettextには通常 _ のエイリアスが付けられる。C言語では、
>
> printf("My name is %s.\n", my_name);
>
> を以下のように変更する:
>
> printf(_("My name is %s.\n"), my_name);
2015/06/02(火) 21:00:08.82ID:80AN9G/c
>>198
開発効率と可読性が悪いだろw

なんで多く出てくるものに、
そんなに長い情報量を与えないといけないんだ?

圧縮の基本だぞ。
多く使うものに短いビットを割り当てるのは。
2015/06/02(火) 21:08:24.71ID:ex2Jk34L
>>200
そんなに画面を占領するほど出てこないだろ。
2015/06/02(火) 23:09:26.72ID:tDj3/Qmg
圧縮率が気になる人は var, a, b, c; でも使えばいい
_ が気にならないなら Java でも PHP でも同じように使えばいい
それが誰が見てもコードの意図を理解できるものであると思うのならな
2015/06/03(水) 08:42:27.59ID:tNzh/NJ7
> それが誰が見てもコードの意図を理解できるものであると思うのならな

ん? 馬鹿が見てもわかるコードなんてあると思うのか?
何の知識も持たない奴が、forとか見て、繰り返しだな。なんてわかると思うのか?

知識があるプログラマが見てわかれば十分だろw
2015/06/03(水) 09:13:26.09ID:L99ZSHzZ
>>203←こういう極論振りかざす馬鹿はプロジェクトから最初に外したいねぇ♪
2015/06/03(水) 09:32:01.02ID:HnGZ0ASm
そもそもjQueryの根幹を成していたcssQuery作者はJSに習熟していたから$なんて使わなかったが、
当時JS初心者が浅い知識で無茶苦茶に作ったprototypejsが流行っていてユーザーがそこで$にすっかり慣れてしまっていたから、彼らを取り込もうと図った時に敢えて$を使った。
2015/06/03(水) 09:41:02.46ID:HnGZ0ASm
jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。
実際、query api がなかった当時において、飛び抜けた存在だった。
誰も知らないだろうが、既に消した10年ほど前のブログで俺が日本で最初にjQueryにお墨付きを出したので、変な責任感があって、今や粗大ゴミと化したjQueryを徹底的に駆除しなきゃならないと思っている。
2015/06/03(水) 09:53:38.81ID:L99ZSHzZ
>>205
今じゃすっかり死に絶えたね prototype.jsは

未だに$使ってる奴は、PHPでもやってろって思うね。
2015/06/03(水) 09:53:42.15ID:HnGZ0ASm
どうでもいいが、underscorejsはグローバルで名前がかち合わないよう自動処理してるだろ。だから_にこだわりも何もないよ、あれは。あの作者はさすがだなと思う。
2015/06/03(水) 10:04:47.49ID:HnGZ0ASm
jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。
2015/06/03(水) 17:34:44.34ID:/Ca0vDfD
> jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。

メソッドチェーン便利じゃん
メソッドチェーンを否定するなら、代わりに何を推すのだろうか
2015/06/03(水) 17:50:56.37ID:oCZofESS
CoffeeScript
2015/06/03(水) 21:53:47.03ID:tNzh/NJ7
>>206
> jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。

知ってるも何も、Internet Archiveに残ってるよ。
その画像ってどれのこと?

https://web.archive.org/web/20060203025710/http://jquery.com/
2015/06/03(水) 21:56:52.15ID:tNzh/NJ7
>>209
jQueryでみんなが慣れてしまったメソッドチェーンは
jQueryができるより前から知っていたが、はて?
2015/06/04(木) 07:09:21.45ID:p4ZTcGym
そもそも、$ や _ の話にメソッドチェーンは関係なかろう
2015/06/04(木) 07:56:18.16ID:0Z7pWiJ+
ただのライブラリの話を持ち込まれてもな
216デフォルトの名無しさん
垢版 |
2015/06/04(木) 11:41:14.80ID:sc3w8p67
vue.js でelを指定しない時にHTMLを生成できるって書いてある記事を見かけたのだけど、どうやればいいんだ?
2015/06/04(木) 15:50:39.91ID:LzIda4YJ
そこの記事書いた人に聞けよゆとり
218デフォルトの名無しさん
垢版 |
2015/06/04(木) 16:48:24.05ID:TldR44zJ
本人乙
219デフォルトの名無しさん
垢版 |
2015/06/04(木) 17:08:20.45ID:JWskV460
まあ名前付けが傲慢な感じはあるね
prototypeとかqueryとかnodeとかbootstrapとか、
一般的なコンピュータ用語になんでもjs付ければ許されるのかと

ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しいように思う
2015/06/04(木) 17:16:37.66ID:yVQOALuO
>>219
> ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しい

という無知
221デフォルトの名無しさん
垢版 |
2015/06/04(木) 18:11:41.00ID:JWskV460
>>220
おっWeb屋だ、元気?

ところでv8をビルドするときに使う
bootstrapスクリプトの機序をどうやって検索したらいいか教えてくれよw
2015/06/04(木) 21:53:09.33ID:PemmKaGK
>>221
v8のビルド方法で検索すればいいんじゃね?

検索したら、How to Download and Build V8っていうのが見つかったけど。
https://developers.google.com/v8/build?hl=ja
2015/06/04(木) 23:15:35.68ID:U3atrZZO
>>219
世の中の大半は、おまえより生産的で知識豊富な人たちが開発したと思ってるけどね
2015/06/05(金) 07:38:59.00ID:DEUjZ497
>>223
そういう話はキッチリソースつけて、話してくれや。
2015/06/05(金) 09:03:32.52ID:P0ImBG10
キッチ&リリース
2015/06/07(日) 07:11:03.31ID:ohZIkVP1
ま、ウェブ屋の大半が馬鹿なのは本当だろう
巨大なページに普通のjquery適用させて重い重い言ってるのよく見るしな
2015/06/07(日) 10:09:01.52ID:QDivtYyn
中古のスマホやタブレットでデザイナーに作られたようなjQuery満載の糞ページを表示させると電力不足を引き起こされてバッテリー残量が正確に認識されなくなってOSが緊急終了させられる。
今やスマホどころかタブレットもバッテリー内蔵で交換は困難/不可能だからバッテリーが寿命になっても使い続けられている端末はいくらでもある。
2015/06/07(日) 10:38:19.95ID:yTv0X04Z
はいはい
2015/06/07(日) 11:28:19.29ID:J7/rKSpK
>>226
とにかく書き捨ての糞プロジェクトが増えた
こんな流れはGoogleがつくった感じする
2015/06/07(日) 12:55:15.14ID:+aAn4ks1
誰かのせいにして安心するのは間違ってる
それは作った当人らの責任だろ
2015/06/07(日) 21:23:07.05ID:J7/rKSpK
詐欺業者が横行してて
姉歯的案件だらけだよ
年金記録流出も起こるべくして起きた
2015/06/08(月) 02:32:14.37ID:DLynV3iC
なんだお前ら生理か?
2015/06/08(月) 04:59:15.44ID:TkpGbpl3
ソフトバンクテレコム()
2015/06/17(水) 17:09:08.15ID:FiJHYwC6
関係無いけど久しぶりにJSLint使おうと思ったら随分変わってるのな
つーか何で x /= 3; でストップするんだ?わけわからんのだが
2015/07/02(木) 17:04:18.93ID:p+4VzYpK
他人が作ったコードをメンテすることになってJSDocアノテーションされてたので
ドキュメント化しようという話になった
開発時にはがJSDoc Toolkit(https://code.google.com/p/jsdoc-toolkit/)を使っていたようなのだが
それはすでにサポート終了してテンプレートも消えていた

それでJSDoc3(https://github.com/jsdoc3/jsdoc)を試しているのだがデフォルトのテンプレートが
どうにも満足のいかないものだったので、テンプレートをいくつか探して試した
なかには not found のエラーを出すものがあり、そろそろ疑問に感じてきた

それで JSDoc を jsdoc -T としてテスト実行してみたところ大量の not found
えっ? テストしてないでリリースしてるの? それともこちらの環境の問題?
ちなみに Windows 7 環境で同梱のバッチで実行してるのだけれども
java 上で動くのだからその辺は一緒のはず?
javaランタイムのバージョン?

もし Windows 上で JSDoc3 を使っている方がいたら
安定して動作している環境を教えてほしい
2015/07/02(木) 17:09:48.72ID:eJl3FSc8
>>235
$ git clone https://github.com/jsdoc3/jsdoc
Initialized empty Git repository in /home/hoge/src/jsdoc/.git/
remote: Counting objects: 16429, done.
remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429
Receiving objects: 100% (16429/16429), 16.16 MiB | 377 KiB/s, done.
Resolving deltas: 100% (8177/8177), done.
$ cd jsdoc/
$ ./jsdoc -T
Running tests...
.....(略)....

Finished in 4.993 seconds
1163 tests, 2965 assertions, 0 failures

.....(略)....

Finished in 0.054 seconds
33 tests, 60 assertions, 0 failures
2015/07/02(木) 17:10:25.70ID:eJl3FSc8
あ、これCentOS 6.6ね。
2015/07/02(木) 17:11:59.32ID:eJl3FSc8
ちなみに、
$ java -version
openjdk version "1.8.0_45"
OpenJDK Runtime Environment (build 1.8.0_45-b13)
OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)
2015/07/02(木) 17:18:31.81ID:p+4VzYpK
同じ手順を Windows 上の Git Bash にて行ってみた

$ git clone https://github.com/jsdoc3/jsdoc
Cloning into 'jsdoc'...
remote: Counting objects: 16429, done.
remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429
Receiving objects: 100% (16429/16429), 16.16 MiB | 1.17 MiB/s, done.
Resolving deltas: 100% (8177/8177), done.
Checking connectivity... done.
Checking out files: 100% (620/620), done.

$ cd jsdoc/
$ ./jsdoc -T
js: exception from uncaught JavaScript throw: Error: Module "c:/Users/xxxxxx/Documents/GitHub/jsdoc/jsdoc.js" not found.

うわーん
2015/07/02(木) 17:20:04.04ID:p+4VzYpK
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode)

です
2015/07/02(木) 17:21:39.94ID:eJl3FSc8
>>239
Windowsは、jsdoc.cmdを実行するみたいだよ。

ただ、俺には理解不能なエラーが出た。
Javaとか知らんし。

> $ .\jsdoc.cmd -T
> Running tests...
> org.mozilla.javascript.EcmaError: ReferenceError: "self" is not defined. (file:/C:/Temp/jsdoc/node_m
> odules/bluebird/js/main/captured_trace.js#464)
2015/07/02(木) 17:34:40.81ID:p+4VzYpK
やっぱ Linux環境を用意しないとダメなんかなあ
ただテストではエラー出るけど実際に使ってみた際にはエラーは出ないんだよなあ

テンプレートはデフォルトと
https://github.com/Nijikokun/minami
https://github.com/davidshimjs/jaguarjs-jsdoc
はエラー無しで通った

https://github.com/bvalosek/jsdoc3-bootstrap
https://github.com/terryweiss/docstrap
https://github.com/DBCDK/jsdoc3Template
はダメだった
2015/07/02(木) 17:43:03.98ID:eJl3FSc8
Macでもやってみた。
3年位使ってたけど、Java入ってないし。JDKのインストール方法をググる所から始めた。

Web開発にMac使ってる人が多いのは、こういうところかもね。

$ ./jsdoc -T
Running tests...
....(略)...

Finished in 3.486 seconds
1163 tests, 2965 assertions, 0 failures

....(略)...

Finished in 0.024 seconds
33 tests, 60 assertions, 0 failures
2015/07/02(木) 18:58:45.62ID:p+4VzYpK
あとでちゃんと JDK 入れてみるか
2015/07/17(金) 23:16:41.01ID:GZ2lmC/i
ttp://www.bluefoun.pos.to/games/howto/htimg.html
ここに出てくる関数gameBodyって意味あんのか・・・?
これ書いただけじゃ何も実行できんぞ
2015/07/17(金) 23:24:31.53ID:XR8NxmBX
はーい今日のおバカさん↑登場
2015/07/24(金) 23:57:05.40ID:QlYyU5j9
迷子なんでここでいいかな?
cordova(phonegap)で躓いてるんだけど、専用スレが見当たらない
誘導plz
2015/07/25(土) 00:05:32.97ID:385UensT
そもそもフレームワークスレがないんだわ
自分で建ててもいいんじゃない
2015/07/26(日) 00:45:58.44ID:Nu2ySp1+
webアプリの伝票を表示する画面のHTMLで、テーブルタグでエクセル方眼紙作ってあった
列とか必要以上に多くて無駄にセルの結合してあった
2015/07/26(日) 00:46:27.27ID:Nu2ySp1+
gbk
2015/07/26(日) 08:27:53.84ID:lKG+wP//
>>249
すごく重そうなサイトだなーw
252デフォルトの名無しさん
垢版 |
2015/08/02(日) 18:40:44.98ID:mqZtRy/B
数字の1と文字の1が一致して笑った。
カス言語すぎる。
253デフォルトの名無しさん
垢版 |
2015/08/02(日) 18:45:01.04ID:dTRZmQiN
たしかperlも一致してた気がする
2015/08/02(日) 19:22:32.84ID:sI4u8psA
=== とか !== を知らないのだろうか?
2015/08/02(日) 19:23:25.05ID:ea/y5J7a
JSは互換を安易に切れないからな
残りカスのような変な仕様は山ほどある
2015/08/02(日) 19:30:32.53ID:qmwBoa+Z
>>249
もしかしてマジでEXCELでデザインしたものを変換してるのかもな
2015/08/02(日) 19:34:25.89ID:56YeXZNf
===使わないとか狂ってるな
カス過ぎる
2015/08/02(日) 19:37:57.46ID:qmwBoa+Z
むしろ==の使いどころがよくわからん
259デフォルトの名無しさん
垢版 |
2015/08/02(日) 19:41:23.07ID:mqZtRy/B
じゃあ、==の存在意義はなんだよ
260デフォルトの名無しさん
垢版 |
2015/08/02(日) 19:49:47.26ID:dTRZmQiN
explicit宣言で==がsyntaxerrorになったりせんのけ
2015/08/02(日) 20:51:00.19ID:j05l/s8s
変数に型がない言語ではどうしても、
== と === 相当の機能が必要になる。
変数に型がない言語では全て同じ。
2015/08/02(日) 21:47:56.95ID:sI4u8psA
ID:mqZtRy/B は素直に静的な型宣言を必要とするコンパイル言語を使っとけ
263デフォルトの名無しさん
垢版 |
2015/08/02(日) 22:13:12.22ID:dTRZmQiN
CoffeeScriptおすすめですお
2015/08/02(日) 22:15:15.51ID:j05l/s8s
言語としては悪くないが、
将来性として悪い。

BabelなどでES6が使えるようになった今、
CoffeeScriptの役目は終わった。
優位性が無くなったのだから。

CoffeeScriptはES6をつくるための
犠牲になったのだ。
2015/08/02(日) 22:36:51.46ID:+B7/KlLQ
>>259
null == undefinedがありますので
2015/08/02(日) 23:11:50.36ID:Q2JrvHPp
>>260
JSLint使っとけ
267デフォルトの名無しさん
垢版 |
2015/08/03(月) 05:17:31.66ID:M3KvY+a0
>>261
luaならそんなクソ仕様ないけど
2015/08/03(月) 20:20:01.84ID:OzQ4PZKS
>>267
でもこういうクソ仕様はありますね。

2.2.1 - 変換
Luaは文字列と数値を実行時に自動的に変換する。 すべての数学演算は、
文字列に適用されると、一般的な変換ルールに基づいてその文字列を数値に変換しようとする。


ただし、例外があって


2.5.2 - 関係演算子
2.2.1 の変換ルールは等価比較には適用されない。 そのため、"0"==0 は false に評価され、
t[0] と t["0"] は異なったテーブルエントリを示す。


一貫性がない。
2015/08/04(火) 11:19:43.50ID:Wrx2TKJj
NaN !== NaN は他言語でもそうなのかな
これだけは直感的でないと感じてしまう
2015/08/04(火) 20:47:31.71ID:LaebqzUe
>>269
Rubyも同じ
http://docs.ruby-lang.org/ja/search/class:Float/version:2.0.0/query:NAN/
> ただし、NaN 同士の比較では常に false を返します。

Pythonでも同様
http://d.hatena.ne.jp/yosshi71jp/20090920/1253415431
> nanは非数(not a number)、infは無限(infinity)。通常、
> この表示になってしまったら、これにどんな演算を行っても、結果はもう変わらない。

PHPでも
PHP 型の比較表
http://php.net/manual/ja/types.comparisons.php
> この値を、自分自身を含む他の値と比較すると、緩い比較であっても厳しい比較であっても
> 結果は FALSE となります (つまり NAN != NAN であり NAN !== NAN であるということです)。

さらにPerlでも
http://perldoc.jp/docs/perl/5.6.1/perlop.pod
> NaN はどの値に対しても(NaN に対してでさえも) "<", "==", ">", "<=", ">=" の
> いずれも成立しないので、これらは全て偽となります。

SQLでも似た仕様がある。

NULL は NULL と等しくない!?
http://blog.livedoor.jp/i_am_best/archives/7845603.html
2015/08/04(火) 20:48:25.72ID:LaebqzUe
>>269
> NaN !== NaN は他言語でもそうなのかな
> これだけは直感的でないと感じてしまう

直感的じゃないという意見はわからなくもないが、
他言語でも同じなわけで、それを知らないということは、
君の経験不足ってのがよく分かるねw
2015/08/04(火) 20:50:43.13ID:LaebqzUe
ついでに調べた。

C#も同じ
http://d.hatena.ne.jp/tgk/20061109/1163069036

Javaも同じ
http://d.hatena.ne.jp/Kappuccino/20080805/1217905115

C言語でも同じ
http://www.c-tipsref.com/words/not_a_number.html
> NaN を使った算術演算の結果は常に NaN になる
2015/08/04(火) 21:03:34.53ID:SiN2Ipli
a = NaN, b = NaN
aとbを比較しようとしたときにどういう問題が発生するか考えれば納得出来るだろう
2015/08/04(火) 21:18:44.87ID:LaebqzUe
>>273
わかりづらいw

var a = "a";
var b = "b";

parseInt(a) == parseInt(b)

これがtrueだとおかしいだろ?
ぐらいのことを言えよ。
2015/08/04(火) 21:25:12.39ID:MmQrnXHp
は?
NaN という状態の意味を考えろよ?
言語でしか考えてなくてコンピュータで処理するってこと微塵も考えてないだろ?
2015/08/04(火) 21:34:13.30ID:SiN2Ipli
>>274
分かろうとする努力が大切
2015/08/04(火) 21:38:57.14ID:eMvPKlqH
NaNでそーなるのっ!? (ジャンプ)
2015/08/04(火) 21:56:56.46ID:2w4CQfTI
>>271
他言語の経験がないのは認めるけど、煽りとかどうでもいいから
NaN !== NaN が成立する合理的な理由があるなら教えて欲しい
「他言語でもそうだから」という教科書的な答えでは納得できない

>>273-274
その比較はする必要性を全く感じないので、そのコードの目的がわからない
null, undefined は等価なのに NaN だけ特別扱いする理由がわからない
2015/08/04(火) 22:14:51.15ID:SiN2Ipli
>>278
nullやundefinedは演算の結果でなるものではない
2015/08/04(火) 22:56:02.17ID:MmQrnXHp
>>278
null や undefined は言語上で特定の意味を与えられた値にすぎない
NaN はそれとは全く違う
不正な演算によって生じた結果を表す状態で、これは言語ではなくてコンピュータの仕組みから定義されているもの
「不正な値」だと理解してもらっていい
不正な値なので大小比較自体が成立しないのでその結果も不明となる
あとは自分で NaN をググるなり、コンピュータでの数値表現について勉強するなりしてくれ
2015/08/04(火) 23:21:37.01ID:2w4CQfTI
>>279-280
NaN は Number ではない不定値のようなものか
何となくだが、理解した
ありがとう
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況