let numberVar: number = 1
let stringVar: string = 'abcde'
let numberAndStringVar: number | string = 1
numberAndStringVar = 'abcde'
let anyVar: any = null // 未定義の型
// Array
let arrayNumberVar: number[] = [1,2,3]
let arraySrtingVar: string[] = ['a', 'b', 'c']
let arrayNumberAndStringVar: Array<number | string> = [1, 'b', 3]
let arrayMixedVar: any[] = [[], 1, 'c']
// Object
let objectNumberVar: {[key: string]: number} = {1: 1}
let objectStringVar: {[key: string]: string} = {1: 'a'}
interface IColor {
[key: string]: string | undefined;
black: string;
red: string;
blue: string;
green?: string; // 必須じゃないオブジェクトには?を付ける
}
let color: IColor = {
black: '#000',
red: 'red',
blue: 'blue'
}
// 関数
// function [関数名]([引数1名]: [引数1型]): [戻り値の型]
function func(count: number): number {
return count + 1
}
const func1 = (count: number): number => {
return count + 1
}