/ ts中如果声明变量并赋值,则可以不定义类型,ts会把这个变量类型当作是初始化值的类型,如果声明并且没有进行赋值,则需要进行类型定义,如果没进行定义变量,则是any类型
// 像window中已经有的属性,ts文件中不能直接声明的 eg: const name = 'xiaoming'
// ts文件中有个鸭子类型,如果他看起来像鸭子,像鸭子一样游泳,像鸭子一样叫,那么他一定是一只鸭子,就像marry一样
// 但是对象字面量--额外进行属性检查
interface Person {
name: string,
age: number,
}
function printName(person:Person) {
console.log(person.name);
}
const xiaoming = {
name: 'xiaoming',
age: 20,
}
const marry = {
name: "marry",
age: 20,
phone: 12123123123,
}
const xiaoliu:Person = marry; // success
const xiaozhang:Person = { // error
name: 'xiaozhang',
age: 20,
phone: 12123
}
printName(xiaoming) // success
printName(marry) // success
printName({name:"xiaoming", age:20, phone: 12121212}) // error