TypeScript
字符串新特性
多行字符串
- JavaScript 定义多行字符串
var word = 'aaa' +
'bbb' +
'ccc'
- TypeScript 定义多行字符串
var word = `
aaa
bbb
ccc
`
字符串模板
var myName = "Zhang San";
var getName = function() {
return "zhangsan"
}
console.log(`hello ${
myName}`);
console.log(`hello ${
getName()}`);
自动拆分字符串
function test(template, name, age) {
console.log(template);
console.log(name);
console.log(age);
}
var myName = "Zhang san";
var getAge = function() {
return 18;
}
test `my name is ${
myName}, I'm ${
getAge()}`;
参数新特性
参数类型
在参数名称后面使用冒号来制定参数的类型
声明类型
- any
- string
- number
- booleam
- void (不需要返回值的函数)
var myName: string = "zhang san";
var alias: any = 'xixi'; // 可以设置变量为任何类型
myName = 12; // IDE报错
// 方法声明类型
function test(): void {
}
// 参数声明类型
function test(name: string): string {
return name;
}
// 自定义类型
class Person {
name: string;
age: number
}
var lisi: Person = new Person();
lisi.age = 12;
lisi.name = 'lisi';
默认参数
在参数声明后面用等号来指定参数的默认值
function test(a:string, b:string, c:string = 'xixi') {
console.log(a);
console.log(b);
console.log(c);
}
test('x', 'y');
可选参数
在方法的参数声明后面用问号来标明此参数为可选参数
function test(a:string, b?:string, c:string = 'xixi') {
console.log(a);
console.log(