Skip to content

Instantly share code, notes, and snippets.

@nilshartmann
Last active June 14, 2020 08:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nilshartmann/1103b4df55479c5abf7ea51dbdbd85a8 to your computer and use it in GitHub Desktop.
Save nilshartmann/1103b4df55479c5abf7ea51dbdbd85a8 to your computer and use it in GitHub Desktop.
function greet(person) {
// toUpperCase ist auf einem String definiert, aber nicht auf einem Objekt
return person.toUpperCase();
}
greet({
name: "Susi"
})
// Laufzeitfehler: TypeError: p.toUpperCase is not a function
let person = "Susi";
console.log(typeof person); // Ausgabe: string
console.log(person.toUpperCase()); // Ausgabe: SUSI
person = 32;
console.log(typeof person); // Ausgabe: number
console.log(person + 1); // Ausgabe: 33
person = function() { return "Kate" }
console.log(typeof person); // Ausgabe: function
console.log(person()); // Ausgabe: Kate
import React from "react";
function Hello(props) {
return <h1>Hello, {props.name}</h1>
}
function greet(person: string) {
return person.toUpperCase();
}
greet({
name: "Susi"
});
// TypeScript Fehler: Argument of type '{ name: string; }'
// is not assignable to parameter of type 'string'.
const greeting = greet("Susi"); // OK
greeting.toLowerCase(); // OK, greeting ist string und darauf ist die Funktion toLowerCase definiert.
let person = "Susi";
console.log(typeof name); // Ausgabe: string
name = 32; // TypeScript Fehlermeldung: Type '32' is not assignable to type 'string'
type Person = { name: string, lastname: string };
function greet(person: Person) {
return `Hello, ${person.name} ${person.lastname}`
};
greet({name: "Susi", lastname: "Mueller"}); // OK
greet({name: "Klaus"}); // TS Error: Property ‘lastname’ missing
function greet(person: string | null) {
if (person === null) {
return "";
}
return person.toUpperCase(); // OK
}
function greet(person: string | null) {
return person.toUpperCase(); // TS Fehler: Object is possibly 'null'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment