JavaScript 4©2ch.net (398レス)
上下前次1-新
23: 2015/02/11(水)23:38 ID:sJPqGjE7(1) AAS
パクってもらうのが目的な気がしてならない
24(1): 2015/02/12(木)04:27 ID:vBHOZlzG(1/3) AAS
パクリも何もTypedScriptは元々ES6に向けたharmonyの機能を先行して実装し、
それに加えてES4の頃からアイディアがあってES7辺りでの実現が見込まれていた型注釈を組み込んだものだよ。
そしてTypeScriptの目標は自身(型注釈)がES7で取り入れられて最終的に用無しになることだからね。
CoffeeScriptなんかとよく並べられるが、どちらかと言うとtraceurや6to5みたいなトランスレーターの仲間と考えた方がいい。
とは言えTSの型注釈はコンパイル時の整合性チェックのためのもので、実行時に活用するSSとは少し有り様が違う。
25(1): 2015/02/12(木)13:51 ID:sZL3z8VT(1/2) AAS
>>24
JavaScriptに型注釈が取り入れられるわけないし必要ない
それにブラウザ内蔵オブジェクトに正しく型を付けられるようにしたのはTypedScriptが最初だ
アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
実行時に活用するのは同じGoogleのAtScriptがあるだろ
26(1): 2015/02/12(木)15:31 ID:vBHOZlzG(2/3) AAS
>>25
>>型注釈が取り入れられるわけない
そんなことはない
ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
SSはもっと踏み込んでる
>>ブラウザ内蔵オブジェクトに正しく型を付けられるようにしたの〜
DefinitelyTypedについて言っているのならそれは完全にTSの功績
だがそれはTSの型注釈がコンパイル時の検証のためのものだから必要なのであって
ランタイムのチェックには必要ないもの
>>アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
省5
27(1): 2015/02/12(木)16:52 ID:sZL3z8VT(2/2) AAS
>>26
> ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
guardはブレンダン・アイクにいらねー言われてたよ
> DefinitelyTypedについて言っているのならそれは完全にTSの功績
ブラウザ内蔵オブジェクトは単純なclassの定義だけじゃ型付け出来ないものがある
TypeScriptは若干独特な仕様のinterfaceを導入して正しく型付けしている
28: 2015/02/12(木)18:47 ID:vBHOZlzG(3/3) AAS
>>27
guardそのものではないが、実行時の型チェック→エラー機能に留まる≒guardということ。
それと別に型が正しく型付けできない云々はあくまでTSの問題。TSが型をどのように定義し利用してるかの問題であって、一般的な話ではない。
そもそもTSにおける型とは架空のものだから。架空のものなのはJSが曖昧だから。
その点SSはそもそもクラスベースの世界だからインスタンスに紐付けられているクラス情報で判断できる。
で、ビルドインコンストラクタについてはどうやって外部の(プロトタイプベースの)世界と折り合いをつけるのかが示されていないから、
ランタイムチェックについては問題ないがAOT最適化をどうやるのかはなんとも言えない。
29: 2015/02/13(金)21:09 ID:WDmbay81(1) AAS
jsonの日
30: 2015/02/14(土)03:59 ID:TJAnvvXO(1) AAS
リア充の日
31: 2015/02/16(月)00:41 ID:/X+NPUTO(1) AAS
Effective JavaScript読むとJSのきもさに眩暈がするな
元々ガチ向けじゃなかったものをガチ向けにした気持ち悪さ
まるで遊戯王
32: 2015/02/16(月)02:39 ID:4iM7fmBu(1) AAS
どんな言語でもプログラムした事無い素人の典型的なレスだな(笑)
33(1): 2015/02/16(月)08:14 ID:1Y+K6fCR(1) AAS
キモイだろ。普通に。
ここまで捏ね繰り回されたコードが普通に使われる言語は珍しい。
他の言語だとそういうキモイコードは、面白いけどさあ、で大体終わる。
34(1): 2015/02/16(月)09:39 ID:o9E9nO+7(1) AAS
まあ皆キモイと思ってるから各種altJSが出てくるんだろうし
35: 2015/02/16(月)09:40 ID:JcJgKv2l(1) AAS
>>34
そんなこと思ってる奴は全体でも1割もいない
36(2): 2015/02/16(月)11:42 ID:8Z58kFg+(1/6) AAS
>>33
キモいってのは
(function() {
}());
ぐらいで他は特にないけど何がある?
37: 2015/02/16(月)12:09 ID:G25umMgZ(1) AAS
やべえ、そのくらいじゃ全然キモいって思えねえ
まだobjectiveCのがキモい
38(1): 2015/02/16(月)12:57 ID:AmwLqaSG(1/4) AAS
>>36
http://bonsaiden.github.io/JavaScript-Garden/ja/
特に巻き上げとか意味不明
あと、自動セミコロン挿入関連の書き方の宗教とか
39(1): 2015/02/16(月)13:36 ID:8Z58kFg+(2/6) AAS
>>38
巻き上げの説明でよく出てくる例
var myname = "global";
function func() {
console.log(myname); //出力内容は?
var myname = "local";
console.log(myname); //出力内容は?
}
グローバルと同じ名前のローカル変数を定義してる時点で問題があるが、別の言語だと
"global"
省11
40(2): 2015/02/16(月)15:23 ID:AmwLqaSG(2/4) AAS
>>39
C#とかPythonだと上位スコープと同じ名前が後でローカル変数として宣言されるときは、宣言前に使うと構文エラーになって100倍わかりやすいんだが
あと
b = 10
(function(){})()
とかくと10が関数でないってエラーが出るし、関数返したりするとエラーすら出なくなるんだけど、セミコロン省略派の人はjshintで問題を見つけられるの?
41: 2015/02/16(月)15:59 ID:8Z58kFg+(3/6) AAS
>>40
根本的に仕様が違う言語を持ち出すなよ
巻き上げの話しをしてんだから、せめて同名ローカル変数を許す仕様じゃないと比較する意味無いだろ
そんな事言ったら
同名ローカル変数を許す言語<許さない言語という結論で終わる(それには同意する)
jshintのデフォ設定ではセミコロン省略すると大量に警告が出る(>>40で2つ警告が出てる)
> とかくと10が関数でないってエラーが出るし、
エラーになるならそれでいいだろ
> 関数返したりするとエラーすら出なくなるんだけど
どういうコードか分からんかったが、それはエラーじゃないんだろ
42(1): 2015/02/16(月)16:30 ID:8Z58kFg+(4/6) AAS
>>40
https://github.com/then/promise
ちなみに↑このライブラリの人はセミコロンを一切書いてない(lib内のソースとか)
それだけで使う気は失せたが一応ちゃんと綺麗に書けてる
上下前次1-新書関写板覧索設栞歴
あと 356 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.010s