mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-20 11:24:05 -06:00
58 lines
1.3 KiB
TypeScript
58 lines
1.3 KiB
TypeScript
let apples: number = 5;
|
|
let speed: string = 'fast';
|
|
let hasName: boolean = true;
|
|
let applesInference = 5;
|
|
let applesAnnotation: number = 5;
|
|
|
|
let nothing: null = null;
|
|
let nothingu: undefined = undefined;
|
|
|
|
// Built in objects
|
|
let now: Date = new Date();
|
|
|
|
// Array that only contains strings
|
|
let colours: string[] = ['red', 'green', 'blue'];
|
|
let myNumbers: number[] = [1, 2, 3];
|
|
let statements: boolean[] = [true, false, true];
|
|
|
|
// Classes with type annoations
|
|
class Car {
|
|
|
|
}
|
|
let car: Car = new Car();
|
|
|
|
// Object literal with type annoations
|
|
let point: { x: number; y: number; } = {
|
|
x: 10,
|
|
y: 20
|
|
}
|
|
|
|
// Function with type annoations
|
|
const logNumber: (i: number) => void = (i: number) => {
|
|
console.log(i);
|
|
}
|
|
|
|
// Json annotations
|
|
const json = '{"x": 10, "y": 20}';
|
|
const coordinates: { x: number; y: number } = JSON.parse(json);
|
|
console.log(coordinates);
|
|
|
|
// Anotation for declaring and later initializing variables
|
|
let words = ['red', 'green', 'blue'];
|
|
let foundWord: boolean;
|
|
|
|
for (let i = 0; i < words.length; i++) {
|
|
if (words[i] === 'green') {
|
|
foundWord = true;
|
|
}
|
|
}
|
|
|
|
// Non-inferrable variable
|
|
let numbers = [-10, -1, 12];
|
|
let numberAboveZero: boolean | number = false;
|
|
|
|
for (let i = 0; i < numbers.length; i++) {
|
|
if (numbers[i] > 0) {
|
|
numberAboveZero = numbers[i];
|
|
}
|
|
} |