http://www.typescriptlang.org/
TypeScript lets you write JavaScript the way you really want to.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.
前スレ
http://peace.2ch.net/test/read.cgi/tech/1349187527/
TypeScript part2 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/04/30(木) 18:37:29.98ID:ynMflk1l2015/06/07(日) 20:32:21.84ID:4Wk1GroN
2015/06/09(火) 14:13:38.63ID:X0sByrSC
>>15
インライン化がもし速度の為だったら速くなるかどうかは未知数だな
JITコンパイラの高速化の癖というか挙動を予測するのはかなりむずい
あくまで主観だけど長くなった関数は高速に実行されにくくて
細かく関数に分けた方が速くなる気がする (実際にそういう事はあった)
関数単位でコンパイルするしないを決めてるっぽいし
インライン化がもし速度の為だったら速くなるかどうかは未知数だな
JITコンパイラの高速化の癖というか挙動を予測するのはかなりむずい
あくまで主観だけど長くなった関数は高速に実行されにくくて
細かく関数に分けた方が速くなる気がする (実際にそういう事はあった)
関数単位でコンパイルするしないを決めてるっぽいし
2015/06/09(火) 22:54:39.34ID:wugeehUL
>>17
サンキュー
サンキュー
2015/06/10(水) 17:03:59.59ID:/7VhIJtD
解析によるインライン化はtscでもJITでも好きにしてくれていいけど
inlineキーワードで明示できた方が気持ち的にスッキリする
inlineキーワードで明示できた方が気持ち的にスッキリする
2015/06/18(木) 11:14:55.39ID:kEEgKM4/
ES6がいろんなブラウザで動かせるようになった頃にTypeScriptってどうなるの?
2015/06/18(木) 13:05:05.85ID:4ooRsfQ9
ECMAScript2015(旧ES6)がリリースされたんだな
>>21
TypeScriptの最大のメリットは静的型チェックだから有用性は全く変わらない
他にもprivate指定とかも有用だし既にES7(ES2016?)の仕様も先取りしようとしてるよ
>>21
TypeScriptの最大のメリットは静的型チェックだから有用性は全く変わらない
他にもprivate指定とかも有用だし既にES7(ES2016?)の仕様も先取りしようとしてるよ
2015/07/09(木) 12:12:04.05ID:6sfBPUUP
newさせないようにコンストラクターを非公開にしたい
現状でも実現できるけど、そのためにインターフェースを2つも書くのは面倒くさい
現状でも実現できるけど、そのためにインターフェースを2つも書くのは面倒くさい
2015/07/15(水) 10:51:34.25ID:4m+kxR2f
http://blogs.msdn.com/b/typescript/archive/2015/07/13/the-typescript-team-is-hiring.aspx
TypeScript Teamの求人だってさ
TypeScript Teamの求人だってさ
25デフォルトの名無しさん
2015/07/21(火) 01:31:13.85ID:/gCXtG+X Announcing TypeScript 1.5
http://blogs.msdn.com/b/typescript/archive/2015/07/20/announcing-typescript-1-5.aspx
VS2015と合わせてきたか
http://blogs.msdn.com/b/typescript/archive/2015/07/20/announcing-typescript-1-5.aspx
VS2015と合わせてきたか
2015/07/21(火) 01:32:58.22ID:/gCXtG+X
https://github.com/Microsoft/TypeScript/wiki/Roadmap
>1.6
>ES6 Generators
>Local types
>Generic type aliases
>Expressions in class extends clauses
>Class expressions
>exclude property in tsconfig.json
>User defined type guard functions
>async/await for ES6
>External module resolution enhancements
>JSX support
>Intersection types
>abstract classes and methods
次の仕込み進んでるね
>1.6
>ES6 Generators
>Local types
>Generic type aliases
>Expressions in class extends clauses
>Class expressions
>exclude property in tsconfig.json
>User defined type guard functions
>async/await for ES6
>External module resolution enhancements
>JSX support
>Intersection types
>abstract classes and methods
次の仕込み進んでるね
2015/07/21(火) 02:33:09.52ID:rWNspVF5
昔はJScriptという亜種JavaScriptを作っていたMSが
今はJavaScriptの未来を作ってるんだから興味深いよ。
V8を作ってるGoogleが作ってるAngularJSが
TypeScriptを採用してるっていうんだからね。
世の中何が起こるかわからない。
今はJavaScriptの未来を作ってるんだから興味深いよ。
V8を作ってるGoogleが作ってるAngularJSが
TypeScriptを採用してるっていうんだからね。
世の中何が起こるかわからない。
2015/07/21(火) 10:29:14.64ID:JRZO1Ijb
ES6以降の見識とかモダン言語のたしなみがないと新機能を追いかけるのは難しくなってきてるな
29デフォルトの名無しさん
2015/09/03(木) 18:56:51.43ID:nwE/lfZd2015/09/09(水) 13:41:12.43ID:/LabsqIc
node.js 4.0.0 がリリースされたけど tsc 1.5.3 でのコンパイルは問題なかったよ
31デフォルトの名無しさん
2015/09/17(木) 11:57:54.97ID:EJYiGj1J TypeScript 1.6 来た!
http://blogs.msdn.com/b/typescript/archive/2015/09/16/announcing-typescript-1-6.aspx
classとか型関連の機能追加が多いかな
http://blogs.msdn.com/b/typescript/archive/2015/09/16/announcing-typescript-1-6.aspx
classとか型関連の機能追加が多いかな
2015/09/17(木) 13:08:48.57ID:1pEQnj0M
日本語で更新内容を教えて
33デフォルトの名無しさん
2015/09/17(木) 13:39:47.54ID:EJYiGj1J >>32
誰かがブログで解説するだろうからそれを待て
あと1.6でオブジェクトリテラルの型チェックが厳密になって大量のエラーが…
https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes
↑ここに対処法とか書いてあるからバージョンアップする場合は見るべし
誰かがブログで解説するだろうからそれを待て
あと1.6でオブジェクトリテラルの型チェックが厳密になって大量のエラーが…
https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes
↑ここに対処法とか書いてあるからバージョンアップする場合は見るべし
2015/09/18(金) 00:34:58.40ID:RRhCs/3r
>>32
TypeScript 1.6.0-beta 変更点
http://qiita.com/vvakame/items/072fa78f9fe496edd1f0
TypeScriptがReactをサポート
http://www.infoq.com/jp/news/2015/09/typescript16-react
1.6betaの記事だけど、1.6正式版でも同じだよ
TypeScript 1.6.0-beta 変更点
http://qiita.com/vvakame/items/072fa78f9fe496edd1f0
TypeScriptがReactをサポート
http://www.infoq.com/jp/news/2015/09/typescript16-react
1.6betaの記事だけど、1.6正式版でも同じだよ
2015/09/29(火) 13:25:38.28ID:5DFpZmVK
typescriptって型を省略せずに書くのが王道なの?どうなのかおしえてください
2015/09/29(火) 13:57:38.01ID:k2h28xWP
>>35
var a = 1;
は型を省略して書いてるように見えるが型推論されてaはnumber型に固定される
その後a = "hoge";と書くとエラーになる
型推論をあてにして型を省略するのは普通だがそういう事を聞いてんの?
var a = 1;
は型を省略して書いてるように見えるが型推論されてaはnumber型に固定される
その後a = "hoge";と書くとエラーになる
型推論をあてにして型を省略するのは普通だがそういう事を聞いてんの?
2015/09/29(火) 14:07:02.02ID:YDlHSLNo
partialはサポートしてないんですよね?
2015/09/29(火) 14:10:18.85ID:RAm+PgpZ
>>36
これからは型をかかないようにします
これからは型をかかないようにします
2015/10/01(木) 18:23:15.46ID:c/9pCOim
関数の引数の型は書いて下さいね
あと --noImplicitAny は忘れずに
あと --noImplicitAny は忘れずに
2015/10/01(木) 18:44:40.47ID:JwHQ7pBT
--noImplicitAny を付けてれば引き数の型を書かないとエラーになるけど
戻り値の型は省略できてしまう
コンパイラは型推論で戻り値の型は分かるから補完候補の表示で型は分かるけど
戻り値の型もちゃんと書いた方がいいね
そうすると整数を返す予定だったところを文字列返しちゃった時にエラーになる
戻り値の型は省略できてしまう
コンパイラは型推論で戻り値の型は分かるから補完候補の表示で型は分かるけど
戻り値の型もちゃんと書いた方がいいね
そうすると整数を返す予定だったところを文字列返しちゃった時にエラーになる
2015/10/02(金) 02:53:49.54ID:HtrqvoEB
>>37
対応してませんね
けれど前から提案はされていて、C#と異なる使い方も模索されているみたいです
Partial classes
https://github.com/Microsoft/TypeScript/issues/563
Suggestion: Reopen static and instance side of classes
https://github.com/Microsoft/TypeScript/issues/2957
対応してませんね
けれど前から提案はされていて、C#と異なる使い方も模索されているみたいです
Partial classes
https://github.com/Microsoft/TypeScript/issues/563
Suggestion: Reopen static and instance side of classes
https://github.com/Microsoft/TypeScript/issues/2957
2015/10/02(金) 12:29:38.37ID:O/xnKl5a
2015/10/03(土) 10:49:02.03ID:HkSezUmR
コードの中にnew Promiseを書くと
tsc test.tsでチェックしたら
error TS2304: Cannot find name 'Promise'
って出るんですがこれはどうしたらでなく出来ますか?
tsc test.tsでチェックしたら
error TS2304: Cannot find name 'Promise'
って出るんですがこれはどうしたらでなく出来ますか?
2015/10/03(土) 11:10:26.45ID:x61qrQJS
>>43
tsc --target ES6 にするかそれが無理なら
https://github.com/borisyankov/DefinitelyTyped/tree/master/es6-promise
からes6-promise.d.tsを落としてくる
tsc --target ES6 にするかそれが無理なら
https://github.com/borisyankov/DefinitelyTyped/tree/master/es6-promise
からes6-promise.d.tsを落としてくる
2015/10/03(土) 11:39:52.85ID:HkSezUmR
--target ES6を指定します
どうもありがとうございます
どうもありがとうございます
2015/10/03(土) 18:36:19.11ID:OMUtivN5
var i;
var l;
var a = [
{"a":1},
{"b":1},
]
for (var i = 0; i < a.length; i++) {
console.log(a[i]);
}
コンパイルすると
TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'any', but here has type 'number'
ってなるんですがよく分かりませんどうかけばいいんでしょうか
var l;
var a = [
{"a":1},
{"b":1},
]
for (var i = 0; i < a.length; i++) {
console.log(a[i]);
}
コンパイルすると
TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'any', but here has type 'number'
ってなるんですがよく分かりませんどうかけばいいんでしょうか
2015/10/03(土) 23:27:40.80ID:x61qrQJS
>>46
エラーメッセージが理解出来れば分かる事ではあるが…
var i; ← iの型がany
for (var i = 0; ← iの型がnumberだから矛盾してると言ってる
var i;を消すかvar i: number;とすればいいよ
エラーメッセージが理解出来れば分かる事ではあるが…
var i; ← iの型がany
for (var i = 0; ← iの型がnumberだから矛盾してると言ってる
var i;を消すかvar i: number;とすればいいよ
2015/10/04(日) 13:23:21.78ID:DvM48NAd
超超初心者なんですが
仮にグローバルで宣言したiがforでなく別の関数で使われることを意図していた場合
>>46のように変数iをfor文でたまたま同じ名前の制御変数としてvar宣言すると思うのですが
このときvarが付いているにも関わらずfor文のiは一行目で宣言したiとみなされてしまうってことですか?
仮にグローバルで宣言したiがforでなく別の関数で使われることを意図していた場合
>>46のように変数iをfor文でたまたま同じ名前の制御変数としてvar宣言すると思うのですが
このときvarが付いているにも関わらずfor文のiは一行目で宣言したiとみなされてしまうってことですか?
2015/10/04(日) 13:37:43.55ID:khdgfcjT
2015/10/04(日) 13:41:16.06ID:bHkc51Yk
TSはES5ターゲットでもlet/const使えるからへーきへーき
2015/10/04(日) 13:42:29.90ID:khdgfcjT
2015/10/04(日) 13:44:14.49ID:khdgfcjT
かぶった…まぁそういう事だ
2015/10/04(日) 13:49:24.42ID:DvM48NAd
54デフォルトの名無しさん
2015/10/05(月) 00:57:09.65ID:908hRhwN2015/10/15(木) 21:21:16.18ID:8y87T4ny
1.7のissue残り3つ
そろそろ来るか
そろそろ来るか
2015/10/16(金) 09:45:15.72ID:cndR1OOY
issueが0になってからリリースまで1ヶ月以上掛かるし
1.6がリリースされた時は1.6.2だったからもう少し先な気がする
1.6がリリースされた時は1.6.2だったからもう少し先な気がする
2015/10/17(土) 16:42:41.11ID:/J6P+2iK
ポリモthisが待ち遠しい
2015/10/23(金) 19:57:18.48ID:uz+nJ7WP
2015/10/23(金) 23:22:47.24ID:vOh1PKiJ
interface IEquatable {
equals(other: this): boolean
}
とかかな
equals(other: this): boolean
}
とかかな
2015/10/23(金) 23:33:29.49ID:oFKlQBDH
typescriptで使いやすいEditorでおすすめってなんですかね?
MS由来からいってVSなんでしょうけど、当方Macなので、、、、
MS由来からいってVSなんでしょうけど、当方Macなので、、、、
2015/10/24(土) 11:24:42.03ID:lLID1QIl
>>60
ttps://github.com/Microsoft/TypeScript/wiki/TypeScript-Editor-Support
普段何使ってるんだよ
Vimは導入が難しいが、何するにしても特化した環境が作れるぞ
ttps://github.com/Microsoft/TypeScript/wiki/TypeScript-Editor-Support
普段何使ってるんだよ
Vimは導入が難しいが、何するにしても特化した環境が作れるぞ
2015/10/24(土) 14:26:29.93ID:otxAXsrh
>>59
class Base {
getThis(): Base { return this; }
}
class Derived extends Base {
print(): void { console.log('Derived'); }
}
let derived = new Derived();
derived.getThis().print(); // 1.6.2だとBaseにprint()がねーよと怒られる
1.7だと
getThis(): this { return this; }
にする事でコンパイル通ってちゃんと実行も出来る
って事は理解したけど、equals(other: this)のthisって自分の型名のエイリアス
として使えるから便利って事であってるの?
class Base {
getThis(): Base { return this; }
}
class Derived extends Base {
print(): void { console.log('Derived'); }
}
let derived = new Derived();
derived.getThis().print(); // 1.6.2だとBaseにprint()がねーよと怒られる
1.7だと
getThis(): this { return this; }
にする事でコンパイル通ってちゃんと実行も出来る
って事は理解したけど、equals(other: this)のthisって自分の型名のエイリアス
として使えるから便利って事であってるの?
2015/10/24(土) 14:31:41.39ID:otxAXsrh
>>60
Emacsと
https://github.com/ananthakumaran/tide
↑を使う事でVSに劣らないインテリセンス環境が出来上がるぞ(ページ内のscreencastを見るべし!)
ちなみに常用してるけどMac版Emacsは使った事ないから詳細は分からん
Emacsと
https://github.com/ananthakumaran/tide
↑を使う事でVSに劣らないインテリセンス環境が出来上がるぞ(ページ内のscreencastを見るべし!)
ちなみに常用してるけどMac版Emacsは使った事ないから詳細は分からん
2015/10/24(土) 14:48:22.39ID:otxAXsrh
>>59
class Base {
equals(other: this): boolean { return other.name === "Derived"; }
}
class Derived extends Base {
name = "Derived";
}
let derived = new Derived();
console.log(derived.equals(derived));
だと、1.7でも(正確には1.7.0-dev.20151016)
test.ts(3,18): error TS2339: Property 'name' does not exist on type 'Base'.
って、ポリモらないけど…なんでなん?
class Base {
equals(other: this): boolean { return other.name === "Derived"; }
}
class Derived extends Base {
name = "Derived";
}
let derived = new Derived();
console.log(derived.equals(derived));
だと、1.7でも(正確には1.7.0-dev.20151016)
test.ts(3,18): error TS2339: Property 'name' does not exist on type 'Base'.
って、ポリモらないけど…なんでなん?
2015/10/24(土) 16:15:55.69ID:plgIlyg5
2015/10/24(土) 17:46:56.82ID:lLID1QIl
>>64
そういった使い方は無いと思うよ。その場合はジェネリックを使うといい
class Base {
equals<T extends { name: string; }>(other: T): boolean { return other.name === "Derived"; }
}
そういった使い方は無いと思うよ。その場合はジェネリックを使うといい
class Base {
equals<T extends { name: string; }>(other: T): boolean { return other.name === "Derived"; }
}
2015/10/25(日) 00:25:48.72ID:1wUVsAr0
>>66
https://github.com/Microsoft/TypeScript/pull/4910
このページのサンプルコードで>>64みたいなのがあったよ
>>62の戻り値バージョンは直感的で使い易いし良いんだけど
引き数バージョンがポリモらないのは何か変だなとは思う
ま、ジェネリックがあるから困らないけど1.7がちゃんとリリースされたら
また確認してみよう
https://github.com/Microsoft/TypeScript/pull/4910
このページのサンプルコードで>>64みたいなのがあったよ
>>62の戻り値バージョンは直感的で使い易いし良いんだけど
引き数バージョンがポリモらないのは何か変だなとは思う
ま、ジェネリックがあるから困らないけど1.7がちゃんとリリースされたら
また確認してみよう
2015/10/25(日) 07:40:54.38ID:bIzVFZFH
2015/10/25(日) 15:05:43.36ID:MYRFLLoW
>>68
コールの仕方がderived.equalsなんだから未来予知なんてしなくたって
コンパイル時にthisがDerivedなのが決まるでしょ (ジェネリックの場合はTがDerived)
C++は呼び出した時に型を決めてコンパイルされるからそういうのが当たり前だけど
TypeScriptはジェネリックとかも先にコンパイルしようとすんだな
とりあえずそういう仕様なのは理解したよ
コールの仕方がderived.equalsなんだから未来予知なんてしなくたって
コンパイル時にthisがDerivedなのが決まるでしょ (ジェネリックの場合はTがDerived)
C++は呼び出した時に型を決めてコンパイルされるからそういうのが当たり前だけど
TypeScriptはジェネリックとかも先にコンパイルしようとすんだな
とりあえずそういう仕様なのは理解したよ
2015/10/25(日) 20:07:24.22ID:bIzVFZFH
2015/10/26(月) 11:50:38.96ID:2PrT+848
>>70
は?継承されたメソッドのderived.equalsでアクセスしてんのにthisがBaseなわけないだろ
お前が言ってんのは字面上の事だろ
だからC++はジェネリック(テンプレート)は呼び出された時しかコンパイルされないんだよ
TypeScriptもそうだと思っていたと先に書いただろ
equals(other: this)もジェネリックと同じようなもんだろうと思っていたんだよ
同じ事なんども言わせるな
は?継承されたメソッドのderived.equalsでアクセスしてんのにthisがBaseなわけないだろ
お前が言ってんのは字面上の事だろ
だからC++はジェネリック(テンプレート)は呼び出された時しかコンパイルされないんだよ
TypeScriptもそうだと思っていたと先に書いただろ
equals(other: this)もジェネリックと同じようなもんだろうと思っていたんだよ
同じ事なんども言わせるな
2015/10/26(月) 12:01:33.27ID:2PrT+848
ちなみに>>64のコードはコンパイルエラーは出力されるが吐き出された.jsを
実行すると問題なく実行出来る
JavaScriptは動的型だから当然だけど、TypeScriptもジェネリック(とポリモthis)は
呼び出し時に毎回コンパイルした方がよりJavaScriptに近くなるとは思うけどね
(コンパイルというか型チェックだけだが)
実行すると問題なく実行出来る
JavaScriptは動的型だから当然だけど、TypeScriptもジェネリック(とポリモthis)は
呼び出し時に毎回コンパイルした方がよりJavaScriptに近くなるとは思うけどね
(コンパイルというか型チェックだけだが)
2015/10/26(月) 13:14:02.12ID:Jg07UfdQ
エラーになってるのに何とち狂ってんだ
お前はもうそう思い込んでていいから他の人間に迷惑かけるなよ
お前はもうそう思い込んでていいから他の人間に迷惑かけるなよ
2015/10/26(月) 13:23:02.34ID:2PrT+848
>>73
言ってる意味が理解出来ないなら無理に意味不明な返答しなくていいよ
言ってる意味が理解出来ないなら無理に意味不明な返答しなくていいよ
2015/10/26(月) 13:29:03.77ID:rrrZ2q/W
C++のテンプレートではそうじゃないみたいだけど
他言語のジェネリクスやらパラメータ多相だと型引数T(ここで言えばthis)がnameを持つって制約がなけりゃ
other.nameとかやってる時点でコンパイルエラーになるのが普通
呼び出し側でどう呼び出されてようが知らん
他言語のジェネリクスやらパラメータ多相だと型引数T(ここで言えばthis)がnameを持つって制約がなけりゃ
other.nameとかやってる時点でコンパイルエラーになるのが普通
呼び出し側でどう呼び出されてようが知らん
2015/10/26(月) 13:40:49.36ID:2PrT+848
だから説明してくれなくてもTypeScriptの仕様は知ってるよ
class Base {
getThis(): this { return this; }
}
class Derived extends Base {
name = "Derived";
}
let derived = new Derived();
console.log(derived.equals(derived)); // OK:コンパイルも実行も問題ない
この場合のgetThis(): this { return this; }はBaseにあるのに型はDerivedになる
それがポリモthis
引き数版もそうだと思ったら違ったから変だなとおもっただけだ
つうか何回同じ事書かせるんだよ…
class Base {
getThis(): this { return this; }
}
class Derived extends Base {
name = "Derived";
}
let derived = new Derived();
console.log(derived.equals(derived)); // OK:コンパイルも実行も問題ない
この場合のgetThis(): this { return this; }はBaseにあるのに型はDerivedになる
それがポリモthis
引き数版もそうだと思ったら違ったから変だなとおもっただけだ
つうか何回同じ事書かせるんだよ…
2015/10/26(月) 13:42:45.78ID:2PrT+848
間違えた…
> console.log(derived.equals(derived));
derived.getThis().print();
> console.log(derived.equals(derived));
derived.getThis().print();
2015/10/26(月) 13:45:10.06ID:2PrT+848
class Base {
getThis(): this { return this; }
}
class Derived extends Base {
print(): void { console.log('Derived'); }
}
let derived = new Derived();
derived.getThis().print(); // OK:コンパイルも実行も問題ない
なんどもゴメンよ…こっちだった
getThis(): this { return this; }
}
class Derived extends Base {
print(): void { console.log('Derived'); }
}
let derived = new Derived();
derived.getThis().print(); // OK:コンパイルも実行も問題ない
なんどもゴメンよ…こっちだった
2015/10/26(月) 15:10:36.99ID:rrrZ2q/W
class Base {
identity(a: this): this { return a; }
}
class Derived extends Base { /*略*/ }
let derived = new Derived();
derived.indentity(derived) // => Derived
これで戻り値だろうが引数だろうがthis型の意味が変わらんのは分かるだろ
んでもうひとつ
親クラスの中で子クラスの実装に依存するような定義することがおかしいと思わんのか
テンプレートみたいにthisを具体的な型に置き換えたメソッドを実際に生成してくれるって訳じゃねーんだぞ
identity(a: this): this { return a; }
}
class Derived extends Base { /*略*/ }
let derived = new Derived();
derived.indentity(derived) // => Derived
これで戻り値だろうが引数だろうがthis型の意味が変わらんのは分かるだろ
んでもうひとつ
親クラスの中で子クラスの実装に依存するような定義することがおかしいと思わんのか
テンプレートみたいにthisを具体的な型に置き換えたメソッドを実際に生成してくれるって訳じゃねーんだぞ
2015/10/26(月) 15:38:26.33ID:2PrT+848
>>79
> identity(a: this): this { return a; }
なるほど結局やってくれるのはキャストだけって事だな
> 親クラスの中で子クラスの実装に依存するような定義することがおかしいと思わんのか
いや別に…ジェネリックとかは
equals(other: Derived): boolean;
equals(other: Hoge): boolean;
equals(other: any): boolean { return other.name === "Derived"; }
を短く書けるってだけだぞ
やってる事はいたって普通じゃん
> identity(a: this): this { return a; }
なるほど結局やってくれるのはキャストだけって事だな
> 親クラスの中で子クラスの実装に依存するような定義することがおかしいと思わんのか
いや別に…ジェネリックとかは
equals(other: Derived): boolean;
equals(other: Hoge): boolean;
equals(other: any): boolean { return other.name === "Derived"; }
を短く書けるってだけだぞ
やってる事はいたって普通じゃん
2015/10/26(月) 15:41:54.45ID:2PrT+848
equals(other: any): boolean { return other.name === "Derived"; }
よく考えたらこれで良かったなw
よく考えたらこれで良かったなw
2015/10/26(月) 17:12:36.83ID:RV+rpgqN
VisualStudioでTypeScriptを始めてみたのですが加算が上手く出来ません。
数値で入力して数値で計算しているつもりですが文字列の連結になってしまいます。
以下のソースのどこかに問題がありますでしょうか?
それとも加算の時は明示的にNumberを付けるのが暗黙の了解なのでしょうか?
■index.htmlに以下を追加
<input id="id1" type="number" value="100" />
<input id="id2" type="number" value="50" />
<button type="button" onclick="MyCalc(document.getElementById('id1').value, document.getElementById('id2').value, 'id3');">Calc</button>
<p id="id3"></p>
■app.tsに以下を追加
function MyCalc(a: number, b: number, idOut: string) {
var add: number = a + b; // ←文字列の連結になる
//var add: number = Number(a) + Number(b); // ←数値の加算になる
document.getElementById(idOut).innerHTML = add.toString();
}
数値で入力して数値で計算しているつもりですが文字列の連結になってしまいます。
以下のソースのどこかに問題がありますでしょうか?
それとも加算の時は明示的にNumberを付けるのが暗黙の了解なのでしょうか?
■index.htmlに以下を追加
<input id="id1" type="number" value="100" />
<input id="id2" type="number" value="50" />
<button type="button" onclick="MyCalc(document.getElementById('id1').value, document.getElementById('id2').value, 'id3');">Calc</button>
<p id="id3"></p>
■app.tsに以下を追加
function MyCalc(a: number, b: number, idOut: string) {
var add: number = a + b; // ←文字列の連結になる
//var add: number = Number(a) + Number(b); // ←数値の加算になる
document.getElementById(idOut).innerHTML = add.toString();
}
2015/10/26(月) 17:29:52.14ID:68zEKPr/
ゴミだな
2015/10/26(月) 17:30:24.13ID:2PrT+848
2015/10/26(月) 18:04:54.71ID:68zEKPr/
つまり、
function MyCalc(a: number, b: number, idOut: string) {
var add: number = Number(a) + Number(b);
document.getElementById(idOut).innerHTML = add.toString();
}
とすべきである、と。
何このゴミ言語。
function MyCalc(a: number, b: number, idOut: string) {
var add: number = Number(a) + Number(b);
document.getElementById(idOut).innerHTML = add.toString();
}
とすべきである、と。
何このゴミ言語。
2015/10/26(月) 18:05:52.22ID:jZMivBq6
根がjavascriptだからな
腐っておる
腐っておる
2015/10/26(月) 20:48:07.59ID:Jg07UfdQ
今日は大漁だなぁ
2015/10/26(月) 21:03:54.01ID:2PrT+848
>>85
MyCalcに文字列を渡してるのは理解してんの?
MyCalcに文字列を渡してるのは理解してんの?
8982
2015/10/26(月) 21:09:33.30ID:+CoO9wxe >>84
tsの引数でnumberと指定しているところにhtmlからstringを渡してるのにエラーでないのが正常ってことですか。
なんとも言えないモヤモヤした気分ですがそういうものだと思って納得します。
ありがとうございました。
tsの引数でnumberと指定しているところにhtmlからstringを渡してるのにエラーでないのが正常ってことですか。
なんとも言えないモヤモヤした気分ですがそういうものだと思って納得します。
ありがとうございました。
2015/10/26(月) 23:08:05.78ID:xkX95Mex
そもそも今時htmlファイルにJSのコードがあるのがクソ
2015/10/27(火) 10:15:27.19ID:VNkjK7Q1
92デフォルトの名無しさん
2015/11/01(日) 10:08:53.87ID:zBN3V9bR ジェネリックと書かれると黒柳徹子の声で脳内再生されるw
かといってジェネリックプログラミングだと長いか。
かといってジェネリックプログラミングだと長いか。
2015/11/01(日) 14:26:27.55ID:85GIjHA4
英語だとGenericsだからジェネリックスと言うべきだろうね
日本語だとジェネリックが多いけど
日本語だとジェネリックが多いけど
94デフォルトの名無しさん
2015/11/01(日) 17:47:18.14ID:wW4dECTr >>92
うむ
うむ
2015/11/04(水) 20:57:38.51ID:hYok3Gvy
ゼネリック
96デフォルトの名無しさん
2015/11/19(木) 23:49:04.62ID:xa/vi52N Microsoftのコードエディタ「Visual Studio Code」β版でオープンソース化、拡張機能で「Go」など約60言語に対応
http://gigazine.net/news/20151119-microsoft-visual-studio-code/
http://gigazine.net/news/20151119-microsoft-visual-studio-code/
2015/11/20(金) 11:13:18.44ID:SnNAjHh0
2015/11/20(金) 11:53:31.08ID:9+9LvV/5
>>97
なるほど。と思った。確かに生きてる教材として価値あるね。
なるほど。と思った。確かに生きてる教材として価値あるね。
2015/11/20(金) 15:30:00.27ID:oa4HKSA2
コーディングガイドラインがTS本体と変わってるな
開発元ですらベストプラクティスが固まってないのか
開発元ですらベストプラクティスが固まってないのか
100デフォルトの名無しさん
2015/11/24(火) 14:34:32.21ID:qZ9OT4oo VSCodeもElectron使ってるしネイティブアプリもTypeScript+Electronで作るのがトレンドなんだな
101デフォルトの名無しさん
2015/11/24(火) 16:51:28.94ID:7M39MrWo >>100
Electronってそんなにトレンドなの?
Electronってそんなにトレンドなの?
102デフォルトの名無しさん
2015/11/24(火) 18:49:02.47ID:qZ9OT4oo >>101
トレンドってのは完全に主観だ
そもそもデスクトップアプリを作る機会があまり無いと思われる
あとブラウザで動くJavaScriptとNode.js用のコードはモジュールの問題とか
色々相容れないものがあって両対応させるのは難しい
この辺はES6のModuleが普及すれば多少は改善するのかね
トレンドってのは完全に主観だ
そもそもデスクトップアプリを作る機会があまり無いと思われる
あとブラウザで動くJavaScriptとNode.js用のコードはモジュールの問題とか
色々相容れないものがあって両対応させるのは難しい
この辺はES6のModuleが普及すれば多少は改善するのかね
104デフォルトの名無しさん
2015/11/27(金) 17:09:34.40ID:/Gh9DtXn New Website Logo: Ericsson
https://github.com/Microsoft/TypeScript/issues/5801
Erlang作った会社もTypeScript使ってるんだね
https://github.com/Microsoft/TypeScript/issues/5801
Erlang作った会社もTypeScript使ってるんだね
105デフォルトの名無しさん
2015/11/28(土) 23:18:53.43ID:CBIJUaS6 TypeScript Advent Calendar 2015
http://qiita.com/advent-calendar/2015/typescript
http://qiita.com/advent-calendar/2015/typescript
106デフォルトの名無しさん
2015/12/01(火) 01:33:36.41ID:z2GrodUr 当日になっても参加一人だけかよTypeScript終わってんな
107デフォルトの名無しさん
2015/12/01(火) 14:46:16.60ID:MI9NKsx/ こういうのは横の繋がりがないと人を集めるの難しそうだな
108デフォルトの名無しさん
2015/12/01(火) 14:52:09.64ID:MI9NKsx/ Announcing TypeScript 1.7
http://blogs.msdn.com/b/typescript/archive/2015/11/30/announcing-typescript-1-7.aspx
http://blogs.msdn.com/b/typescript/archive/2015/11/30/announcing-typescript-1-7.aspx
109デフォルトの名無しさん
2015/12/01(火) 15:22:54.15ID:fXKlxJmK 今回の機能追加はAsync/Awaitとポリモthisぐらいか
1.8も言語機能の追加は小規模だからだいぶ仕様が安定してきた感じだな
1.8も言語機能の追加は小規模だからだいぶ仕様が安定してきた感じだな
110デフォルトの名無しさん
2015/12/01(火) 15:32:51.36ID:fXKlxJmK TypeScriptはその名の通りJavaScript+型なんだからTypeScript固有の話題なんて
もうそんなにないだろ
最新の話題は>>108のブログだけ見てれば十分
言語機能を詳しく知りたい場合は公式のHandbookがスゲー良く出来てるからそれで十分
もうそんなにないだろ
最新の話題は>>108のブログだけ見てれば十分
言語機能を詳しく知りたい場合は公式のHandbookがスゲー良く出来てるからそれで十分
111デフォルトの名無しさん
2015/12/02(水) 00:09:29.85ID:et2ufdl8 コンパイル速度遅くなってきたらしいな
さもありなん
さもありなん
112デフォルトの名無しさん
2015/12/05(土) 15:39:17.84ID:m9DZhLZL 実際アプデしたらクッソ重くなってた
IDEがプチフリして困る
IDEがプチフリして困る
113デフォルトの名無しさん
2015/12/06(日) 02:00:29.98ID:FcGW3Qzp114デフォルトの名無しさん
2015/12/06(日) 22:16:12.04ID:NQ6kkq7S Microsoft、「Edge」のJavaScriptエンジン「Chakra」をオープンソース化へ
http://www.itmedia.co.jp/news/articles/1512/06/news012.html
http://www.itmedia.co.jp/news/articles/1512/06/news012.html
115デフォルトの名無しさん
2015/12/08(火) 13:43:53.13ID:sEPoyyCj >>113
間違いとか中途半端な内容が多いな
取り合えず 2 ** 3 は 2 * 2 * 2 に展開される
整数同士は掛け算に展開して浮動小数点数は Math.pow() を使うようになる
要するに整数のべき乗を整数のままにしておけるという事だな
間違いとか中途半端な内容が多いな
取り合えず 2 ** 3 は 2 * 2 * 2 に展開される
整数同士は掛け算に展開して浮動小数点数は Math.pow() を使うようになる
要するに整数のべき乗を整数のままにしておけるという事だな
116デフォルトの名無しさん
2015/12/08(火) 15:25:18.45ID:sEPoyyCj■ このスレッドは過去ログ倉庫に格納されています
