TODO
これ。6年前の記事。Googleでトップに出てくるようになったので更新する。
その後、TypeScript練習問題
や
TypeSript中級者になる為に知っておくと良い108個のこと
を書く
以下古い記事
今日遊んだ奴を思い出に投稿しておく
・コンパイルしたTS
・書き出されたJS
・今日であったエラー
playgroundで適当に動き調べてどんな時エラーでて、どうなるのか
理解したり、自分なり調べてたりした。
Typescript
module kenji{
export class B{
constructor(
public n:number
){}
exest (num): any{
console.log(num + this.n);
}
}
}
module morita{
import ggg = kenji.B //上記のmoduleのBクラスを取り込む
var ddd:ggg = new ggg(5); //classを型注釈
var ccc = ddd.exest(5);//メンバ変数は普通にvar
var kkk:any; //メンバ関数を定義voidで型注釈だと返り値注意
export class A {
public ffa:any;//publicは省略可能
constructor(
public fafa,public ccc:number
){};
kkk():any{
return ccc + this.fafa;
}
}
}
var dddd = new morita.A('ee',8);//引数渡すの忘れないで
dddd.kkk
javascript
var kenji;
(function (kenji) {
var B = (function () {
function B(n) {
this.n = n;
}
B.prototype.exest = function (num) {
console.log(num + this.n);
};
return B;
})();
kenji.B = B;
})(kenji || (kenji = {}));
var morita;
(function (morita) {
var ggg = kenji.B;
var ddd = new ggg(5);
var ccc = ddd.exest(5);
var kkk;
var A = (function () {
function A(fafa, ccc) {
this.fafa = fafa;
this.ccc = ccc;
}
;
A.prototype.kkk = function () {
return ccc + this.fafa;
};
return A;
})();
morita.A = A;
})(morita || (morita = {}));
var dddd = new morita.A('ee', 8);
dddd.kkk;
今日出会ったエラー(playgroundでリアルタイムで出てくる奴)
Duplicate indentifier
複製重複
同じmodule内にメンバ登録?定義している箇所がある
export' modifier cannot appear on a class element
「エクスポート」修飾子は、クラスの要素上に表示することはできません
Supplied parameter do not match any of signature
こいつはよく出てきた。「渡す引数が合わない」
Property ‘[エラー箇所]’ does not exist on type ’typeof’ [エラーClass];
importした内部モジュール内のclass(object)がexport記述されていない、
もしくは、
返り値の型注釈が一致しない
↓
書き出されたJS見たら
↓
プロトタイプに定義しているのにインスタンス呼び出しをしないで関数呼び出しになっていた。。
間違え
morita.A.kkk()
↓
正しい
var dddd = new morita.A('ee',8);
dddd.kkk();