TS 学习笔记(1)类型基础
1. 类型注解,类型注解为一种轻量型的为函数或者变量添加约束的方式
{
function greeterA ( person: string ) {
return "Hello, " + person;
}
let user = "Hello" ;
let s = greeterA ( user) ;
console . log ( s)
}
2. 接口
{
interface Person {
userName: string ,
userSex: string ,
}
function greeterB ( person: Person) {
console . log ( `username is ${ person. userName} userSex is ${ person. userSex} ` )
}
greeterB ( { userName: 'Zyi' , userSex: 'Man' } )
}
3.类
{
class Student {
fullName: string ;
constructor ( public firstName, public middleInitial, public lastName) {
this . fullName = firstName + " " + middleInitial + " " + lastName;
}
}
interface Person {
firstName: string ;
lastName: string ;
}
function greeterC ( person: Person) {
return "Hello, " + person. firstName + " " + person. lastName;
}
let user = new Student ( "Jane" , "M." , "User" ) ;
console . log ( greeterC ( user) )
}
变量定义
{
let isDone: boolean = false ;
let isNumber: number = 0 ;
let isStr: string = 'aa' ;
let isArray: number [ ] = [ ] ;
let isList: Array < number > = [ ] ;
let isTuple: [ string , number ] = [ 'a' , 1 ]
console . log ( isTuple)
console . log ( isTuple[ 0 ] . substr ( 1 ) ) ;
isTuple[ 3 ] = 'a'
console . log ( isTuple)
enum Color { Red = 1 , Green, Blue}
let c: Color = Color. Green;
console . log ( c)
console . log ( Color[ 2 ] )
let notSure: any = 4 ;
console . log ( notSure)
notSure = 'a'
console . log ( notSure)
notSure = true
console . log ( notSure)
let isLists: any [ ] = [ 1 , 'a' , true ]
console . log ( isLists)
{
function warnUser ( ) : void {
console . log ( 'hello world' )
}
}
let unusable: void = undefined;
let n: undefined = undefined;
let u: null = null ;
{
function error ( message: string ) : never{
throw new Error ( message)
}
}
declare function create ( o: object| null ) : void ;
let isObject: Object = { 'a' : 1 }
console . log ( isObject)
let someStr= 'this is a str'
let strLength: number = ( < string > someStr) . length;
console . log ( strLength)
let strLength1: number = ( someStr as string ) . length;
console . log ( strLength1)
}