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/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:sEPoyyCj117デフォルトの名無しさん
2015/12/10(木) 23:32:50.70ID:V7ddkloI 3.14 ** 3 は 3.14 * 3.14 * 3.14 にするよりも pow のほうが早いのか
118デフォルトの名無しさん
2015/12/11(金) 00:19:45.18ID:5K+qhLiA2015/12/14(月) 18:49:41.54ID:R3y1X6jx
http://www.typescriptlang.org/Playground で
以下のコードが実行時エラーになる
意図したものなのかな
function f() {
const Math = void 0;
console.log(2 ** 3);
}
f()
以下のコードが実行時エラーになる
意図したものなのかな
function f() {
const Math = void 0;
console.log(2 ** 3);
}
f()
120デフォルトの名無しさん
2015/12/15(火) 13:48:49.14ID:uFHp5xJr >>119
const Math = void 0;
だとMathがany型になってるからそもそも何やってもコンパイルエラーにはならない
const Math = 1;
console.log(Math.pow(2, 3));
だとコンパイルエラーになるが
console.log(2 ** 3);
がコンパイルエラーにならないのはバグだな
ちなみに1.7のプレリリース版だと2 ** 3は2 * 2 * 2に展開されてた気がするが
1.7.3だと無難にMath.pow(2, 3)のままだな…
const Math = void 0;
だとMathがany型になってるからそもそも何やってもコンパイルエラーにはならない
const Math = 1;
console.log(Math.pow(2, 3));
だとコンパイルエラーになるが
console.log(2 ** 3);
がコンパイルエラーにならないのはバグだな
ちなみに1.7のプレリリース版だと2 ** 3は2 * 2 * 2に展開されてた気がするが
1.7.3だと無難にMath.pow(2, 3)のままだな…
121デフォルトの名無しさん
2015/12/17(木) 17:40:37.59ID:z/Lx0cXl typescriptを書くときの環境みたいなのを教えてください
そういう記事があったら教えてください
webpack?とかpackage.txtとか開発初めのスケルトンが知りたいです
そういう記事があったら教えてください
webpack?とかpackage.txtとか開発初めのスケルトンが知りたいです
122デフォルトの名無しさん
2015/12/17(木) 19:05:38.17ID:Szn4FINI VisualStudio
Azure
Azure
123デフォルトの名無しさん
2015/12/17(木) 22:15:57.04ID:CSxzQpIQ まずエディタを何使いたいかによるな
何でもいいなら無難にVS使うのがいいと思われる
最近ならVisual Studio Codeの方がいいかもしれない
何でもいいなら無難にVS使うのがいいと思われる
最近ならVisual Studio Codeの方がいいかもしれない
124デフォルトの名無しさん
2015/12/18(金) 17:31:03.70ID:uEIUGuN6 VSCodeは.git/とtsconfig.jsonが同じフォルダなのが前提だな…
そうでない場合も多い気がするけどな
ちょっと試用してみたけど上記の問題以外はTypeScript用エディタとして快適に使える
そうでない場合も多い気がするけどな
ちょっと試用してみたけど上記の問題以外はTypeScript用エディタとして快適に使える
125デフォルトの名無しさん
2015/12/18(金) 18:00:03.96ID:eorQTm9j VSCodeに移行したいけどvimが未完成すぎてまだ移行できん
はよVSと同じクオリティに仕上げてくれ
はよVSと同じクオリティに仕上げてくれ
126デフォルトの名無しさん
2015/12/18(金) 19:49:07.87ID:HYHORn7l おもいっきりスレ違いだけどVSCodeの完成度の高さにびっくり
golang開発環境としても最適。マイクロソフトの開発力の高さを目撃したぜ。
一気にATOMより使いやすくなりやがった。
typeScriptも期待していいね
golang開発環境としても最適。マイクロソフトの開発力の高さを目撃したぜ。
一気にATOMより使いやすくなりやがった。
typeScriptも期待していいね
127デフォルトの名無しさん
2015/12/18(金) 20:01:03.80ID:uEIUGuN6 VSCodeの完成度の高さの半分はTypeScriptで作ってるからと言えなくもない
残りの半分はGoogleのChromiumとV8のお陰だが…
残りの半分はGoogleのChromiumとV8のお陰だが…
128デフォルトの名無しさん
2015/12/19(土) 01:32:25.74ID:AUMngiLG 最近のマイクロソフトはC#と並んでNode.js推しが凄いね
次期ASP.NETのビルドシステムもNode.js系
Node.jsの普及に社運をかけているような感じがする
次期ASP.NETのビルドシステムもNode.js系
Node.jsの普及に社運をかけているような感じがする
129デフォルトの名無しさん
2015/12/19(土) 06:11:40.64ID:2wysK+Et MSは自社のJavaScriptエンジンがあるから別にNode.jsを推してるとは思えない
単にNode.jsを使わざるを得ない状況ってだけじゃないかな
現状色んなアプリが別個にNode.jsのランタイムを含めてて無駄過ぎるから
WindowsだったらEdgeとかChakraを使うバージョンがあってもいいと思う
単にNode.jsを使わざるを得ない状況ってだけじゃないかな
現状色んなアプリが別個にNode.jsのランタイムを含めてて無駄過ぎるから
WindowsだったらEdgeとかChakraを使うバージョンがあってもいいと思う
130デフォルトの名無しさん
2015/12/19(土) 08:29:23.06ID:2BX5Ngj+ MS自身自社プロダクトのクロスプラットフォーム化を進めてるのにそんな逆行したいわけがない
131デフォルトの名無しさん
2015/12/19(土) 13:18:54.15ID:2CKHjxE+ Node.js はオワコンなのにね
132デフォルトの名無しさん
2015/12/19(土) 15:19:47.28ID:2BX5Ngj+ 持ち上げられすぎてると思うけどそこまで終わってもない
それよりエレクトロンがモノになるかのほうが不安
それよりエレクトロンがモノになるかのほうが不安
133デフォルトの名無しさん
2015/12/19(土) 17:24:55.88ID:saKWMtLf chakra対応のnode出したりcoreをossにしたりでv8で満足してるわけでもなさそう
134デフォルトの名無しさん
2015/12/20(日) 03:32:05.22ID:3pTsyfVL135デフォルトの名無しさん
2015/12/20(日) 19:25:20.77ID:oiJlcETb オワコンかどうかはわからないけど、jsフロントエンド周りは
変化が早すぎてついていける人が少ないのは確か。
ビルドツールすらなんでそんな変わっていくん?
いっそmakeでいいんじゃないか。
早くデファクトスタンダードでてくんないかな。
Meteorは完全にjs界から見放されているような気もする。(日本だけ?)
変化が早すぎてついていける人が少ないのは確か。
ビルドツールすらなんでそんな変わっていくん?
いっそmakeでいいんじゃないか。
早くデファクトスタンダードでてくんないかな。
Meteorは完全にjs界から見放されているような気もする。(日本だけ?)
136デフォルトの名無しさん
2015/12/20(日) 22:47:15.85ID:ZI2XTWWE GUIツールや、ビルドツール、SSRあたりは残るんじゃないかな。
apiサーバやさらにバックエンドは今より減っていきそうだけど。
apiサーバやさらにバックエンドは今より減っていきそうだけど。
137デフォルトの名無しさん
2015/12/21(月) 11:04:35.60ID:1HvlxK+M Dartがもう少し頑張ってくれてりゃなぁ
138デフォルトの名無しさん
2015/12/21(月) 11:44:53.03ID:+DAq0mOu よくAltJSの括りでDartとかと一緒にされるけどTypeScriptはDartと別モンだと思う
TypeScriptは9割は(特にES6以降の)JavaScriptといっても過言じゃないけど
Dartは全然別の言語だし
Webの世界でJavaScript以外の言語が流行るとは全く思えない
TypeScriptは9割は(特にES6以降の)JavaScriptといっても過言じゃないけど
Dartは全然別の言語だし
Webの世界でJavaScript以外の言語が流行るとは全く思えない
139デフォルトの名無しさん
2015/12/21(月) 14:21:33.13ID:1HvlxK+M javascript無くなってくれないかな
TypeScriptが橋渡しになって引導渡して欲しい
TypeScriptが橋渡しになって引導渡して欲しい
140デフォルトの名無しさん
2015/12/23(水) 16:53:14.82ID:YbqFKYTK >139
それはつまり「IEもChromeもFirefoxもSafariも、既存サイトのJavaScriptを解釈しないようにしろ」ってことだろ
無理だな
それはつまり「IEもChromeもFirefoxもSafariも、既存サイトのJavaScriptを解釈しないようにしろ」ってことだろ
無理だな
141デフォルトの名無しさん
2015/12/23(水) 21:21:43.04ID:Gmfz59Yf142デフォルトの名無しさん
2015/12/23(水) 22:12:53.38ID:VUxrNHJY >>141
WebAssemblyだな
主目的はC++のコードを安全にかつネイティブ並に高速に動かす為のものだが
他の言語を動かす基盤にも十分成り得る
ただ現状でもJavaScriptに変換すれば似たような事にはなってるのに
他の言語が流行ってないから結局今と一緒でしょ
WebAssemblyだな
主目的はC++のコードを安全にかつネイティブ並に高速に動かす為のものだが
他の言語を動かす基盤にも十分成り得る
ただ現状でもJavaScriptに変換すれば似たような事にはなってるのに
他の言語が流行ってないから結局今と一緒でしょ
143デフォルトの名無しさん
2015/12/23(水) 23:08:22.22ID:0c+BTX7l JavaScriptでは難しい最適化を施した多言語から生成できる共通の中間コードの仕様策定だっけ?
デバッグが難しいだろうからほとんどCPUヘビーなとこと広告回避にだけ使われてほかはJavaScriptのままだと思うよ
デバッグが難しいだろうからほとんどCPUヘビーなとこと広告回避にだけ使われてほかはJavaScriptのままだと思うよ
144デフォルトの名無しさん
2015/12/23(水) 23:29:17.65ID:37J5CESF145デフォルトの名無しさん
2015/12/23(水) 23:51:10.03ID:0c+BTX7l >>144
マジかよソニー株売ってくる
マジかよソニー株売ってくる
146デフォルトの名無しさん
2015/12/23(水) 23:52:52.11ID:YbqFKYTK >144
それChromeBook持ってるGoogleの一人勝ちになるんじゃないか
それChromeBook持ってるGoogleの一人勝ちになるんじゃないか
147デフォルトの名無しさん
2015/12/23(水) 23:57:52.58ID:0c+BTX7l 日本一みたいな小粒の尖ったソフト出すメーカーはこういうのでコストかけずにどんどん出していったほうがいいんだろうな
148デフォルトの名無しさん
2015/12/25(金) 02:26:54.28ID:87NUqkxQ TypeScript1.8以降で追加予定または協議中の注目の新機能12つ
http://falsandtru.hatenablog.com/entry/typescript-2016
http://falsandtru.hatenablog.com/entry/typescript-2016
149デフォルトの名無しさん
2015/12/25(金) 10:26:24.39ID:qQE0KVCc noImplicitReturns最高
150デフォルトの名無しさん
2015/12/25(金) 13:17:18.21ID:zNppH846 1.7でも戻り値の型が違うとエラーになるけどnoImplicitReturnsの説明見ると
結構すり抜けるパターンがあったんだな…
全部undefined関連だけど最初からエラーにしとけよ
結構すり抜けるパターンがあったんだな…
全部undefined関連だけど最初からエラーにしとけよ
151デフォルトの名無しさん
2015/12/25(金) 13:34:53.88ID:zNppH846 あとreadonlyはなぜ
function hoge(readonly a: number) { }
と書けないんだよ…
メンバーより引き数に指定出来る事の方がはるかに重要だ
他は劇的に便利になるようなものはないな
function hoge(readonly a: number) { }
と書けないんだよ…
メンバーより引き数に指定出来る事の方がはるかに重要だ
他は劇的に便利になるようなものはないな
152デフォルトの名無しさん
2015/12/25(金) 14:43:14.41ID:ISLz7uba うんこの上に金粉まぶしてもうんこはうんこ
153デフォルトの名無しさん
2015/12/25(金) 15:03:46.23ID:9XEpf0Yk >>151
numberにreadonlyを指定することは意味がないと思うが…
引数がreadonlyであることを表明したいなら
そういうinterfaceを定義すれば済む。現行機能で十分じゃないか?
指定子で表明するのはC++がconstで失敗した道だからなぁ
numberにreadonlyを指定することは意味がないと思うが…
引数がreadonlyであることを表明したいなら
そういうinterfaceを定義すれば済む。現行機能で十分じゃないか?
指定子で表明するのはC++がconstで失敗した道だからなぁ
154デフォルトの名無しさん
2015/12/25(金) 17:02:40.14ID:zNppH846 >>153
あー無意味なこと書いてしまった…numberじゃなくて何らかのクラス名だった
ちなみに
function test(readonly v: Data/*参照しかしない事を表明*/): boolean { }
をしたいだけなのに
function test(v: {readonly x: number, ...全部書くのか?): boolean { }
とすればいいという事か?
あー無意味なこと書いてしまった…numberじゃなくて何らかのクラス名だった
ちなみに
function test(readonly v: Data/*参照しかしない事を表明*/): boolean { }
をしたいだけなのに
function test(v: {readonly x: number, ...全部書くのか?): boolean { }
とすればいいという事か?
155デフォルトの名無しさん
2015/12/25(金) 17:36:17.11ID:9XEpf0Yk >>154
「特定のメンバーしか見ない」と表明したいならそうなるんだろうね
もしくは最初からインタフェースを分けておくか
interface ReadOnlyData { get; }
interface Data extends ReadOnlyData { set; }
単純なフィールドの読み書きだけならいいけど
getXXX() は readonly だよねとか
getXXX() の中でキャッシュ値が変化するけど実質的には readonly だよねとか
やりだすと、C++の悪夢がよみがえってしまう
「特定のメンバーしか見ない」と表明したいならそうなるんだろうね
もしくは最初からインタフェースを分けておくか
interface ReadOnlyData { get; }
interface Data extends ReadOnlyData { set; }
単純なフィールドの読み書きだけならいいけど
getXXX() は readonly だよねとか
getXXX() の中でキャッシュ値が変化するけど実質的には readonly だよねとか
やりだすと、C++の悪夢がよみがえってしまう
156デフォルトの名無しさん
2015/12/25(金) 18:43:03.80ID:zNppH846 >>155
そりゃ悪夢だろ
なんでクラス定義する側がそんな苦労しないといけないんだ
ちなみに
class Hoge {
int getXXX() const;
mutable Cache cache;って知ってるか?
こうしておけば何か気にする事なんてあるか?
そりゃ悪夢だろ
なんでクラス定義する側がそんな苦労しないといけないんだ
ちなみに
class Hoge {
int getXXX() const;
mutable Cache cache;って知ってるか?
こうしておけば何か気にする事なんてあるか?
157デフォルトの名無しさん
2015/12/25(金) 18:47:18.76ID:zNppH846 補足
class Hoge {
int getXXX() const; ← これはcacheの中身は書き換える
mutable Cache cache; ← これが書き換わってもconst性に影響無いと考える
class Hoge {
int getXXX() const; ← これはcacheの中身は書き換える
mutable Cache cache; ← これが書き換わってもconst性に影響無いと考える
158デフォルトの名無しさん
2015/12/25(金) 23:14:17.73ID:b7pvx0AF159デフォルトの名無しさん
2015/12/25(金) 23:40:33.36ID:DXbDvcZw >>151
利用する側に重要な情報だよな。
利用する側に重要な情報だよな。
160デフォルトの名無しさん
2015/12/26(土) 00:31:22.25ID:iwceh6a5 C++でconstに問題あるなんて素人のたわごとだろ
聞いたこと無い
聞いたこと無い
161デフォルトの名無しさん
2015/12/26(土) 00:39:17.52ID:iwceh6a5 C++で仕事を15年以上して凄い奴とかどうしようもない奴とか色々見てきたけど
constに問題があるとか初めて聞いたよ
constに問題があるとか初めて聞いたよ
162デフォルトの名無しさん
2015/12/29(火) 02:41:33.95ID:cehhvXHA163デフォルトの名無しさん
2015/12/29(火) 02:55:10.34ID:cehhvXHA 最近やっとNode.jsとブラウザの両方で使えるコードの書き方が分かったよ
TypeScriptオンリーだったらtsc --module amdとrequire.jsがあればいいし
JavaScriptを使う場合はwebpack使えば出来た
俺はTypeScriptの時でもリリース時にwebpack使って開発中はrequire.jsで
個別にファイルを読み込んだほうがデバッグしやすいからそうしてる
ちなみに///<reference path='hoge.ts'/>とかmoduleやnamespaceは全く使わない
それが今のトレンド (VSCodeのソースがそうしてる)
TypeScriptオンリーだったらtsc --module amdとrequire.jsがあればいいし
JavaScriptを使う場合はwebpack使えば出来た
俺はTypeScriptの時でもリリース時にwebpack使って開発中はrequire.jsで
個別にファイルを読み込んだほうがデバッグしやすいからそうしてる
ちなみに///<reference path='hoge.ts'/>とかmoduleやnamespaceは全く使わない
それが今のトレンド (VSCodeのソースがそうしてる)
164デフォルトの名無しさん
2015/12/29(火) 16:10:58.92ID:O/+FVQhq そりゃそうだ
165デフォルトの名無しさん
2016/01/03(日) 18:07:55.32ID:CSCP9BIo だれかわかるやつ教えてくれ...
親クラスのstaticメソッドを子クラスでoverrideすると、
実行していない状態でもなぜか親クラスのstaticメソッドが実行されてしまうんだが、これはなぜなんだ...
一応ソースだけ張ってみる。
/// <reference path=
親クラスのstaticメソッドを子クラスでoverrideすると、
実行していない状態でもなぜか親クラスのstaticメソッドが実行されてしまうんだが、これはなぜなんだ...
一応ソースだけ張ってみる。
/// <reference path=
166デフォルトの名無しさん
2016/01/03(日) 18:14:12.59ID:CSCP9BIo167デフォルトの名無しさん
2016/01/03(日) 23:49:46.81ID:4W+1xUXu168デフォルトの名無しさん
2016/01/04(月) 00:03:32.03ID:tFJ0VkMO >>167
おお、ありがたい。
明日ちょっと見てみるわ。
どうもextendsするときに実行しちゃっているみたいだから、そういう仕様なの?とも思ったんだがいまいちわからんくて...
コンパイル結果のjsも明日張ってみるわ
今日はもう寝る
おお、ありがたい。
明日ちょっと見てみるわ。
どうもextendsするときに実行しちゃっているみたいだから、そういう仕様なの?とも思ったんだがいまいちわからんくて...
コンパイル結果のjsも明日張ってみるわ
今日はもう寝る
169デフォルトの名無しさん
2016/01/04(月) 09:26:22.97ID:B4Y3MO4F >>168
console.log(Asian.name);
console.log(Asian.name = "New type");
console.log(Asian.name);
nodeだとname propertyは再定義できないと言われるが
console.log(Asian.name);
console.log(Asian.name = "New type");
console.log(Asian.name);
nodeだとname propertyは再定義できないと言われるが
170デフォルトの名無しさん
2016/01/04(月) 12:16:27.68ID:WW+fICsN >>166
これはおもろいw
--target ES5のクラス継承は__extendsでいわゆるクラスを模したイディオムを
実行する訳だけど、その時にHuman.nameを読み出してるからその中で
console.log()みたいな副作用のあるコードを書いてるとちょろっとお漏らし
しちゃうんだな
ま、getに副作用のあるコードを書くなって事だな
副作用が無ければ気にする事はない
これはおもろいw
--target ES5のクラス継承は__extendsでいわゆるクラスを模したイディオムを
実行する訳だけど、その時にHuman.nameを読み出してるからその中で
console.log()みたいな副作用のあるコードを書いてるとちょろっとお漏らし
しちゃうんだな
ま、getに副作用のあるコードを書くなって事だな
副作用が無ければ気にする事はない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- 【二次】この中で種付けセックスしたい女の子早い者勝ちwwwwwwwwwwwwwwwwwwwwwwwwwwww
- へそグリグリ
