2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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 ★