uniapp-x js 限制

1.String(str) 不允许,android模拟室报错,找不到String

2.JSON.parse不接受泛类型

复制代码
export const genData = function<T> (initData:T) : T {
	return JSON.parse<T>(JSON.stringify(initData))!;//不可以,必须明确类型
}

error: Cannot use 'T' as reified type parameter. Use a class instead.‌

但是却可以这样写

复制代码
export function UtilUpdateState<T>(options:UpdateStateArgs):T{
	const {key,value,state,localKey,setCache}=options;
	state[key]=value;
	if(setCache==true){
		setLocalStore(state,localKey)
	}
	//为啥这里可以as
	return state as T;
}

却不可以这样写

复制代码
//初始化数据,生成数据,不允许这样写
export  function genData<T> (initData:UTSJSONObject) : T {
	const obj= JSON.parse<UTSJSONObject>(JSON.stringify(initData))!;
	return obj as T;
}

神奇吧~~~~

版本hbuilderx:4.56

3.数字类型不能和字符串对比,例如

复制代码
1=="1" ‌
error: Operator '==' cannot be applied to 'Number' and 'String'‌