LoginSignup
14
8

More than 3 years have passed since last update.

Typescriptをplaygroundで遊びながら理解した記事

Last updated at Posted at 2015-08-10

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();

14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8