mirror of
https://github.com/sharkdp/bat.git
synced 2024-09-19 09:21:29 +02:00
111 lines
1.6 KiB
TypeScript
111 lines
1.6 KiB
TypeScript
|
let letNumber = 10;
|
||
|
const constNumber = 20;
|
||
|
|
||
|
const bool: boolean = true;
|
||
|
const list: number[] = [1, 2, 3];
|
||
|
const array: Array<number> = [1, 2, 3];
|
||
|
const pair: [string, number] = ['hello', 10];
|
||
|
|
||
|
for (let i = 0; i < list.length; i += 1) {
|
||
|
console.log(list[i]);
|
||
|
}
|
||
|
|
||
|
if (bool) {
|
||
|
console.log('True');
|
||
|
} else {
|
||
|
console.log('False');
|
||
|
}
|
||
|
|
||
|
const str: string = 'Jake';
|
||
|
const templateStr: string = `Hello, ${str}!`;
|
||
|
|
||
|
// A comment
|
||
|
|
||
|
/*
|
||
|
* Multiline comments
|
||
|
* Multiline comments
|
||
|
*/
|
||
|
|
||
|
interface SquareConfig {
|
||
|
label: string;
|
||
|
color?: string;
|
||
|
width?: number;
|
||
|
[propName: string]: any;
|
||
|
}
|
||
|
|
||
|
interface SearchFunc {
|
||
|
(source: string, subString: string): boolean;
|
||
|
}
|
||
|
|
||
|
enum Color {
|
||
|
Red,
|
||
|
Green,
|
||
|
}
|
||
|
|
||
|
type Easing = "ease-in" | "ease-out" | "ease-in-out";
|
||
|
|
||
|
class Greeter {
|
||
|
private readonly greeting: string;
|
||
|
|
||
|
constructor(message: string) {
|
||
|
this.greeting = message;
|
||
|
}
|
||
|
|
||
|
greet() {
|
||
|
return "Hello, " + this.greeting;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
let greeter = new Greeter("world");
|
||
|
|
||
|
class Animal {
|
||
|
move(distanceInMeters: number = 0) {
|
||
|
console.log(`Animal moved ${distanceInMeters}m.`);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Dog extends Animal {
|
||
|
bark() {
|
||
|
console.log("Woof! Woof!");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const dog = new Dog();
|
||
|
dog.bark();
|
||
|
dog.move(10);
|
||
|
dog.bark();
|
||
|
|
||
|
class Point {
|
||
|
x: number;
|
||
|
y: number;
|
||
|
}
|
||
|
|
||
|
interface Point3d extends Point {
|
||
|
z: number;
|
||
|
}
|
||
|
|
||
|
let point3d: Point3d = { x: 1, y: 2, z: 3 };
|
||
|
|
||
|
function add(x, y) {
|
||
|
return x + y;
|
||
|
}
|
||
|
|
||
|
let myAdd = function (x, y) {
|
||
|
return x + y;
|
||
|
};
|
||
|
|
||
|
(function () {
|
||
|
console.log('IIFE');
|
||
|
}());
|
||
|
|
||
|
function identity<T>(arg: T): T {
|
||
|
return arg;
|
||
|
}
|
||
|
|
||
|
let myIdentity: <T>(arg: T) => T = identity;
|
||
|
|
||
|
class GenericNumber<T> {
|
||
|
zeroValue: T;
|
||
|
add: (x: T, y: T) => T;
|
||
|
}
|