@chomado 文字と数値の間の演算子としての+の挙動が数値を文字に変換して結合するようになってるからかと(Javaにも似たようなのがあった気が)。
2014-12-27 23:08:12@chomado "-" は数値演算(減算)しか定義されてないが、"+" は数値演算(加算)と文字列演算(結合)の2種類が定義されてて、第一引数が文字列だから文字列演算が優先されてるのではないかと
2014-12-27 23:09:12@chomado JavaScriptの振る舞いです ja.m.wikibooks.org/wiki/JavaScrip…演算子 文字列と数値を連結すると、文字列の方が強いので数値は文字列に変換されます。
2014-12-27 23:10:12@chomado マイナスは文字列に適用できないので、文字列が数字に変換されて、プラスは文字列にも適用できるので、数字が文字列に変換されるからです。
2014-12-27 23:11:13@chomado 文字列向けの演算子として連結の+は有るけどマイナスが割当無しなので不均衡が生じたんでしょうねー。 とはいえ、ウンザリだ、、、、
2014-12-27 23:15:48型があってないようなものであって実はある(からtoString()関数とかが存在してる)やつとかすごい大変そう
2014-12-27 23:19:46型が有って無いようで実は有る言語って、つまり、完全に「プログラマが」型を気を付けてやらなきゃいけないわけなんですよね…?
2014-12-27 23:21:05"@chomado: 型が有って無いようで実は有る言語って、つまり、完全に「プログラマが」型を気を付けてやらなきゃいけないわけなんですよね…?"だからTypeScriptとか出てる気がしますね
2014-12-27 23:22:16@chomado そうなんですよね、明示的にチェックするコードを入れたり、PHPだとタイプヒンティングっていうオブジェクトや配列などにだけ使える関数、メソッドの引数限定の静的型チェックもどきを使ったり。
2014-12-27 23:22:16@NaOHaq それは型の制約を付け足せる機能?なんですよね? なんか、うーん、なんかそれとは違う気がするんです、 "5"-1 とかができちゃう、型の制約の無いもので、でも型があってっていう、 うまくいえないですヽ(;▽;)ノ
2014-12-27 23:23:38@chomado Rubyメインですが型(クラス)があっても無くても引数や戻り値の型には気をつけるのでそれをコンパイラに依存するか実装に依存するかの違いじゃないかな?ということだと思いますね。どこでそれを担保するかの違いかな?
2014-12-27 23:23:56@chomado 型精査する言語としない言語、どっちの方が良いかって議論はけっこうガチ勢間でも起こったりする(´・ω・`) togetter.com/li/755570
2014-12-27 23:24:21