TypeScript
Sample
code:main.ts
// 真偽値
let isDone: boolean = false;
// 浮動小数点数
let decimal: number = 6;
// 16進数
let hex: number = 0xf00d;
// 2進数
let binary: number = 0b1010;
// 8進数
let octal: number = 0o744;
// 文字列(ダブルクオート)
let blue: string = "blue";
// 文字列(シングルクオート)
let red = 'red';
// 埋め込み式
let fullName: string = Bob Bobbington;
let age: number = 37;
let sentence: string = `Hello, my name is ${ fullName }.
I'll be ${ age + 1 } years old next month.`;
// list
let listB: Array<number> = 1, 2, 3; // タプル(OK)
// タプル(NG)
// 列挙型の定義
enum Color {Red, Green, Blue}
// 列挙型
let color: Color = Color.Green;
// 全指定
enum ColorA {Red = '#ff0000', Green = '#00ff00', Blue = '#0000ff'}
// 未指定の場合は0番目は0が指定される
enum ColorB {Red, Green, Blue}
// 0番目だけを指定
enum ColorC {Red = 1, Green, Blue}
// 始めは数値
let notSure: any = 4;
// 文字列を代入可能
notSure = "maybe a string instead";
// ブール値を代入可能
notSure = false;
// コンパイラはチェックしなため通る
// notSure.hoge();
let prettySure: Object = 4;
// コンパイルエラー
//prettySure.hoge();
// 戻り値のない関数
function warnUser(): void {
console.log("This is my warning message");
}
// null または undefined のみ代入可能
let unusable: void = undefined;
// それぞれの型が用意されている
let u: undefined = undefined;
let n: null = null;
// 他の型に代入できる -> できない?
// let no: number = null;
// 必ず例外が発生する場合、戻り値は返さない = 決して発生しない
function error(message: string): never {
throw new Error(message);
}
function create(o: object | null): void {
console.log(created: ${o});
};
create({ prop: 0 }); // OK
create(null); // OK
// create(42); // Error
// create("string"); // Error
// create(false); // Error
// create(undefined); // Error (--strictNullChecks オプションが有効な場合のみ)
let someValue: any = "this is a string";
// let strLength: number = (<string>someValue).length;
Compile
code:bash
tsc main.ts
node main.js
Reference