链接: TypeScript中文文档
type Method = 'GET' | 'POST' | 'PUT';
function request(method:Method,url:String){
switch(method){
case 'GET':
return "asdajkda";
case 'POST':
return "dkhandkank";
case "PUT":
return 'daddd'
}
}
上面例子中如果如果我们需要对这个联合类型进行扩展的话,
type Method = 'GET' | 'POST' | 'PUT' | 'DELETE';
在这个场景下,如果我们需要将所有的类型都匹配到,上面我们忘记了写DELETE,ts是不会报错的,我们需要有报错提示该怎么做,我们可以这样写
type Method = 'GET' | 'POST' | 'PUT' | 'DELETE';
function request(method:Method,url:String){
switch(method){
case 'GET':
return "asdajkda";
case 'POST':
return "dkhandkank";
case "PUT":
return 'daddd'
default :
const n:never = method;
return n
}
}
这里没有对DELETE做处理就会报错