■ このスレッドは過去ログ倉庫に格納されています
TypeScript part1
- 1 : ◆9Zst2CqO/Y :2012/10/02(火) 23:18:47.60 .net
- http://www.typescriptlang.org/
TypeScript is a language for application-scale JavaScript development.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.
- 935 :デフォルトの名無しさん:2015/02/26(木) 08:12:59.52 ID:sBOEiQWy.net
- >>934
SafeStringに何らかのメソッドを追加すれば弾かれるけど、何も追加しない場合の話?
strong typedef を想定しているのかな? それができる言語って結構限られると思うけど。
- 936 :デフォルトの名無しさん:2015/02/26(木) 08:20:52.10 ID:vwRfeNTF.net
- 何も追加しない場合の話
Haskellのように型だけで安全を確保したかった
- 937 :デフォルトの名無しさん:2015/02/26(木) 11:40:30.01 ID:ooujBOtt.net
- >>934
class SafeString extends String {
はエラーになるけど、定義ってどういう事だ?
- 938 :デフォルトの名無しさん:2015/02/26(木) 17:12:46.92 ID:2m9jfAxi.net
- >>937
interface SafeString extends String {}
var str: SafeString = ""
- 939 :デフォルトの名無しさん:2015/02/26(木) 17:38:24.66 ID:sBOEiQWy.net
- interface にダミーメソッドを追加してデフォルトだと弾けるようにして、
キャストしたいときはanyを経由させてコンパイラを騙すくらいしか思いつかない
interface SafeString extends String { dummy(): void; }
<SafeString><any>"ABC";
- 940 :デフォルトの名無しさん:2015/02/26(木) 19:28:38.24 ID:ooujBOtt.net
- >>938
ES6だとStringのサブクラスが作れるからそれ待ちだな
それか普通に包含すればいいじゃん
- 941 :デフォルトの名無しさん:2015/02/27(金) 10:19:55.28 ID:tBwaysiC.net
- >>938
class Dummy {
private _dummy: any
constructor() { throw "Dummy" }
}
interface SafeString extends String, Dummy { }
function SafeString(x: string) { return <SafeString><any>x }
function unSafeString(x: SafeString) { return <string><any>x }
var s0: SafeString = "" // コンパイルエラー
var s: SafeString = SafeString("abc")
s._dummy // コンパイルエラー
class FakeSafeString extends Dummy implements SafeString { ... }
var fake: SafeString = new FakeSafeString() // 実行時エラー "Dummy"
- 942 :デフォルトの名無しさん:2015/02/27(金) 11:19:24.77 ID:9H6qoQ2T.net
- >>941
Cool
declare class SafeContent {
private safe_: boolean
}
interface SafeString extends String, SafeContent {}
function SafeString(str: string): SafeString {
return <SafeString><any>str;
}
var unsafe: string = "";
var safe: SafeString = SafeString("");
var err1: SafeString = "";
var err2: SafeString = new SafeString("");
- 943 :デフォルトの名無しさん:2015/02/28(土) 03:56:48.13 ID:7btd6iQJ.net
- >>931
自己レスだが、早速来てたわ
https://github.com/Microsoft/TypeScript/wiki/Roadmap/21d94626ac56a8e4441091f4134f1be740399ae3
>1.6
>Generators
>Async/await
- 944 :デフォルトの名無しさん:2015/02/28(土) 16:11:36.45 ID:YY6bJC4D.net
- >>943
うお!2.0がどんどん空気になっていく…
あとはvirtual,overrideキーワードが実装されれば俺的にはもう十分
- 945 :デフォルトの名無しさん:2015/03/06(金) 11:47:53.86 ID:iWCN7DOB.net
- http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/
AngularJS 2.0 は TypeScript で開発を進めることに
AtScriptとは何だったのか
- 946 :デフォルトの名無しさん:2015/03/06(金) 12:34:29.81 ID:BnNW7/uW.net
- >>945
Angular 2: Built on TypeScript
http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx
これ見ると1.5に実行時型情報のサポートを追加するように見えるな
追加されると何がどううれしいのかは全然分からん…
- 947 :デフォルトの名無しさん:2015/03/06(金) 22:11:26.14 ID:rB0vcOq6.net
- Angular 2フレームワークとTypeScript言語でMicrosoftとGoogleが協働
http://jp.techcrunch.com/2015/03/06/20150305microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/
AtScriptが言語としてデビューしたのは昨年の10月だが、
今後はAtScriptという名前は消えて、TypeScriptに統一されるようだ。
Angular 2はAngularの旧バージョンとの互換性が完全でないので、
デベロッパコミュニティからの批判がとても多い。
Microsoftが作った言語を使うことも、一部の人たちは気に食わないようだ。
でもこれは明らかにTypeScriptの勝利であり、
しかもそれは、昨年1.0がリリースされて以来、着実にユーザ数が増えているのだ。
- 948 :デフォルトの名無しさん:2015/03/07(土) 00:25:38.85 ID:uYvMvPbm.net
- しかしTypeScriptをパクった言語って他にも幾つかあった気がする
労せずおいしい所だけを持っていこうとするのは何か解せないものがある
ただTypeScriptが刺激を受けたのか進化がやたら早くなったのは良い影響といえるかな
- 949 :デフォルトの名無しさん:2015/03/07(土) 07:17:48.10 ID:Rnf8iriw.net
- >>948
「TypeScriptをパクった」といえるほど独自性あるっけ?
構文はそのままに型情報を付加するっていう基本部分は、遥か昔からいくらでもあるでしょ。
Python系であったのは覚えてる。
ヘタに拡張せず、型情報とES6の先取りに絞ったMSのセンスは褒めたいけど。
- 950 :デフォルトの名無しさん:2015/03/07(土) 09:32:26.30 ID:+HdY4ynp.net
- AngularのTS向けにVS以外のIDEがさらに使いやすくなるといいね。
TSはHaxeやCoffeeScriptなどの後に出てきた、センスのいいやつというぐらいの認識ぐらい。
- 951 :デフォルトの名無しさん:2015/03/09(月) 12:08:29.89 ID:gYKpluIX.net
- >>950
TypeScriptはJavaScriptの上位互換というか完全版とも言うべき言語
だからHaxeとかのAltJSと違って、TypeScriptを選択することでデメリットは全く無いと言ってもいい
(完全に主観だが)
- 952 :デフォルトの名無しさん:2015/03/09(月) 13:42:55.41 ID:NnzyOe/j.net
- CoffeeScript のゆるさが好きな漏れには
TypeScript
- 953 :デフォルトの名無しさん:2015/03/09(月) 13:43:35.15 ID:NnzyOe/j.net
- の良さがいまいち判らない
普段は C / C++ / Python 使いです
- 954 :デフォルトの名無しさん:2015/03/09(月) 13:51:56.85 ID:gYKpluIX.net
- >>952
JavaScriptを使ってる人がTypeScriptにしてもデメリットが少ないだろうってだけで
CoffeeScriptを否定するつもりも全く無い
言語の良い悪いは結論が出る話じゃないしな
- 955 :デフォルトの名無しさん:2015/03/09(月) 22:08:19.35 ID:w6ZsvPuh.net
- ただ、今後廃れる言語は使いたくない。
TypeScriptとCoffeeScriptだと、Type優勢なの?
- 956 :デフォルトの名無しさん:2015/03/09(月) 22:51:11.61 ID:4i/HOWxM.net
- 安定のヘルスバーグだからね
- 957 :デフォルトの名無しさん:2015/03/09(月) 23:00:17.44 ID:eiwQNP/A.net
- ライブラリ使用時の若干の煩わしさがもっとスマートに解決出きる様になったら
手を出そうかと思う
- 958 :デフォルトの名無しさん:2015/03/10(火) 04:27:52.66 ID:IH2/HTQ/.net
- googleがTypeScript使いだしたからな
- 959 :デフォルトの名無しさん:2015/03/10(火) 08:43:28.10 ID:rcROwI0d.net
- http://qiita.com/Cat_sushi/items/04abb9a1d248131bf5c0
>10月に投入されたAngular 2はAtScriptで記述された、より良く、より速いフレームワークです。
>ここで、AtScriptは当初からTypeScriptの拡張です。
>
>重要ポイント: Angular 2はこれまでもずっとTypeScriptで構築されてきました。
言いたいことは分かるが、いまいち納得いかない…
- 960 :デフォルトの名無しさん:2015/03/10(火) 09:34:26.22 ID:GWDqHHzE.net
- Angular はワシが育てた(キリっ)
- 961 :デフォルトの名無しさん:2015/03/10(火) 13:37:54.32 ID:BO1l8SLB.net
- 煩わしいし、angularから離れてbackbone.jsに戻ろうかな
- 962 :デフォルトの名無しさん:2015/03/16(月) 07:03:49.09 ID:dto99C0o.net
- >>959
ずっとただのTypeScriptでやってるけどAtScriptって銘打っちゃおうぜ→MS協力の流れ→あっ、これ?TypeScriptっす
- 963 :デフォルトの名無しさん:2015/03/26(木) 19:19:02.15 ID:jDcjMJ8v.net
- Dartお亡くなりでこいつの勝利か
- 964 :デフォルトの名無しさん:2015/03/26(木) 19:28:19.01 ID:twJT7lY0.net
- 「Node.js Tools 1.0 for Visual Studio」がリリース、Visual Studio 2013/2012でNode.jsの利用を可能に
http://codezine.jp/article/detail/8598
やべー真の勝者はVSだな…
- 965 :デフォルトの名無しさん:2015/03/27(金) 00:23:57.64 ID:ywL9wUBF.net
- >>964
使ってみた
ちゅーとりあるのビデオと全然違うやん
VSのエディタはも含めてだけど世の中に普及してるエディタはインデントで構造を指定する言語には弱い
- 966 :デフォルトの名無しさん:2015/04/03(金) 02:11:57.29 ID:S+bbF527.net
- Announcing TypeScript 1.5 Alpha
http://blogs.msdn.com/b/typescript/archive/2015/03/27/announcing-typescript-1-5-alpha.aspx
公開されたのは今日かな
- 967 :デフォルトの名無しさん:2015/04/03(金) 16:31:05.31 ID:QkZvOp2c.net
- 基本的にES6の追従だけど
> let/const compiling to ES5
が便利過ぎる機能追加、これは大きい
あとはAngluar為に追加したと言っても過言ではないデコレータか
Angluar2.0っていつ使えるようになるか分からんけど
TypeScriptから使うと相当便利につかえるんだろうね
- 968 :デフォルトの名無しさん:2015/04/03(金) 16:40:34.51 ID:QkZvOp2c.net
- 早速試してみた
test.ts
const hoge = 123;
// hoge = 1; // ← コンパイルエラー
console.log(`${hoge}`);
let x = 1;
if (x) {
let x = 0;
console.log(`${x}`); // → 0
}
console.log(`${x}`); // → 1
test.js
var hoge = 123;
// hoge = 1; ← コンパイルエラー
console.log("" + hoge);
var x = 1;
if (x) {
var x_1 = 0;
console.log("" + x_1);
}
console.log("" + x);
いいねー!
- 969 :デフォルトの名無しさん:2015/04/03(金) 16:47:50.53 ID:QkZvOp2c.net
- >>968は--target ES5でコンパイルしたけど--target ES6だと
.tsと.jsが全く同じになった
しかもclassとか=>もそのまま.jsに出るようになった!
ちなみにclass内は完全に一緒になる訳じゃないな
- 970 :デフォルトの名無しさん:2015/04/04(土) 01:09:04.65 ID:sX9xZX28.net
- >>969
報告乙
constやっと来たか
出力されるのが同じになるって分かってたけど嬉しい不思議
- 971 :デフォルトの名無しさん:2015/04/05(日) 13:10:43.22 ID:Cm0h0Zml.net
- おわりの始まり
- 972 :デフォルトの名無しさん:2015/04/06(月) 12:45:44.64 ID:Au51qe0r.net
- JavaScriptにコンパイル時静的型チェックの仕様が追加されない限り
TypeScriptの必要性は全く変わらない
- 973 :デフォルトの名無しさん:2015/04/22(水) 00:27:27.62 ID:G0rTsYMJ.net
- Angular2ってものすごく評判悪いね
- 974 :デフォルトの名無しさん:2015/04/22(水) 23:26:57.27 ID:YLjRa+iq.net
- なぜこのスレで言う
- 975 :デフォルトの名無しさん:2015/04/23(木) 16:40:50.59 ID:0VCN8LwS.net
- tscでコンパイルしたjavascriptをjscsに通すと警告がたくさん出る。
コードスタイルを設定してコンパイルする方法ないの?
- 976 :デフォルトの名無しさん:2015/04/23(木) 23:26:32.55 ID:kZZrUiJM.net
- そんな便利なオプションは無い
しかしtscが吐くjsは少なくとも文法的に問題があるわけじゃないから
jscsの設定で警告でないようにすればいいじゃないかと
- 977 :デフォルトの名無しさん:2015/04/23(木) 23:42:35.62 ID:l/65wJU+.net
- 除外ファイルに指定する方が健全ね
- 978 :デフォルトの名無しさん:2015/04/24(金) 11:41:06.74 ID:GZDzyhlo.net
- Angular2がどんなもんだかは知らんけど、TypeScript+WebComponentなフレームワークは
これから腐るほど出て来るだろうね
しかし最初に始めたものがデファクトスタンダードになる可能性は高いけど
- 979 :デフォルトの名無しさん:2015/04/24(金) 13:30:35.67 ID:PvI2wnUV.net
- var obj = document.createElement('p');
obj.id = "sample";
obj.contentEditable = true;
contentEditableにtrueを渡すとコンパイルエラーになって
文字列で"true"と渡すとコンパイルが通るんですがなんでですか?
- 980 :デフォルトの名無しさん:2015/04/24(金) 14:45:13.20 ID:GZDzyhlo.net
- >>979
そういう時はlib.d.tsを見ればいいよ
interface HTMLElement
{
contentEditable: string;
ってなってるよ。基本的にW3Cの仕様をそのまま反映してる↓
http://www.w3.org/TR/html51/editing.html#contenteditable
- 981 :980:2015/04/24(金) 22:08:45.74 ID:fdiFjNHv.net
- lib.d.tsこれみてきました
これがあるとtype迷わなくて済みそうです
- 982 :デフォルトの名無しさん:2015/04/25(土) 01:17:58.35 ID:3rwZ3iG9.net
- https://github.com/Microsoft/TypeScript/milestones
Suggestionsが消えて、1.5のやり残しは1.5.1に先送り
Build開催までに間に合わせたかったのかな
https://github.com/Microsoft/TypeScript/wiki/Roadmap/bfc82f102a462b485ed5fbebf04a457eb76987a7
>1.5
>Support for Decorator type metadata
>New --rootDir
>New ts.transpile API
>1.6
>Support --module umd
>Support --module system.js
>Support for local types and class expressions
- 983 :デフォルトの名無しさん:2015/04/25(土) 13:57:40.14 ID:CAD04OOS.net
- スゲー急ピッチだな、1.6でもうES6対応を含めて完成してしまう
それはそうと--watchでずっとコンパイルしてるとメモリリークして
いつの間にか1GB超えててびびった
nodeが悪いのか知らんけど気になるな
- 984 :デフォルトの名無しさん:2015/04/26(日) 13:18:36.23 ID:2npT22yp.net
- test
総レス数 984
232 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★