シェアリングテクノロジー株式会社's job postings
みなさん、TypeScript書いてますかー?
今回はバックエンドエンジニアから見たTypeScriptについて書きます。
JavaScriptには「クラスという概念がない」とう仕様があります。それを補う形で、即時関数でカプセル化を行います。
function SmallCat() {
this.cattype = "マンチカン";
}
SmallCat.prototype = new Parent();
SmallCat.prototype.say = function() {
console.log(this.cattype + "は小さくてかわいいね!");
};
// マンチカンは小さくてかわいいね!
関数を定義
↓
継承
↓
実行
という定義と実行の流れになるかと思います。バックエンドエンジニアからすると、わかりにくいと言うか、馴染めない書き方ですよね。
これをTypeScriptで書くと、
class SmallCat {
cattype: string;
constructor() {
this.cattype = "マンチカン";
}
say() {
console.log('は小さくてかわいいね!');
}
}
const smallCat = new SmallCat();
smallCat.say();
//マンチカンは小さくてかわいいね!
TypeScriptの書き方でclassを書くと、なんだか馴染みのある形になりますね。もちろんスコープの汚染も防ぐことができます。型も使えます。必須ではありませんが、コンストラクタも使えます。
他にもTypeScriptの良さはたくさんありますが、このclassを見ただけでも使いたくなった方が1人でも増えたらいいなぁと思います。