Javascript 请解释类型断言 //类型断言 let value:any=“Asim Hussain”; 设len:number=(value).length;
我真的不明白。请解释Javascript 请解释类型断言 //类型断言 let value:any=“Asim Hussain”; 设len:number=(value).length;,javascript,typescript,Javascript,Typescript,我真的不明白。请解释 让值:any=“Asim Hussain” 这使得变量值可以是任何类型。它可以是整数、字符串、数组、对象。。嗯,任何东西 // Type Assertion let value: any = "Asim Hussain"; let len: number = (<string>value).length; 让len:number=(value).length 这将强制变量len为数字类型,该变量仅允许numbers,如0、0.233等 l
让值:any=“Asim Hussain”代码>
这使得变量值可以是任何类型。它可以是整数、字符串、数组、对象。。嗯,任何东西
// Type Assertion
let value: any = "Asim Hussain";
let len: number = (<string>value).length;
让len:number=(value).length代码>
这将强制变量len
为数字类型,该变量仅允许numbers,如0、0.233等
let value: any = "Asim Hussain"; // OK
value = 0; // OK
value = []; // OK
let value:any=“Asim Hussain;”
设len:number=(value).length;
len=“213”//错误
len=213;//好啊
len=值;//错误
len=value.length;//好啊
.length
函数返回一个数字,这是变量所需要的。let value:any=“Asim Hussain”代码>
变量值
可以包含任何内容(键入any
)
让len:number=(value).length代码>
变量len
只能包含数字(类型number
)
值
(typeany
)被强制转换为type字符串
(value)
==value.toString()
变量len
设置为该字符串的长度
您告诉typescript您知道的比typescript多
示例1:
let value: any = "Asim Hussain;"
let len: number = (<string>value).length;
len = "213"; // Error
len = 213; // OK
len = value; // Error
len = value.length; // OK
结果:Typescript不会给我任何错误
示例2
let value: any = "Asim Hussain"
const t = value.map(s => s)
结果:len的类型也是any
示例3
我告诉Typescript我正在使用字符串的长度
let value: any = "Asim Hussain"
const len = value.length
let value:any=“Asim Hussain”
常量len=(值).length
结果:Typescript知道len是一个数字,因为String.prototype.length返回一个数字。我也不明白。如果value
将用作字符串,为什么不直接声明let-value:string=“…”首先是code>?由于该值已分配给字符串,因此也不必使用:string
,对吗?它应该与let value=“…”
let value: any = "Asim Hussain"
const len = value.length
let value: any = "Asim Hussain"
const len = (<string>value).length