uniappx語法差異匯總(附詳細示例)
更新時間:2025年06月14日 11:22:14 作者:darly
uni-app?x是下一代uni-app,一個神奇的產品,用vue語法、uni的組件、api,以及uts語言,編譯出了kotlin的app,這篇文章主要介紹了uniappx語法差異的相關資料,需要的朋友可以參考下
前言
最近在做一個uniappx開發(fā)Android、iOS、微信小程序的項目,開發(fā)過程中遇到很多報錯。其中語法報錯占據(jù)大多數(shù),下面是語法報錯解決之后的匯總
- 所有變量都要聲明類型;
- 對象的類型聲明不能嵌套,原因未知;
- 部分 JS 語法不支持;
- 不同平臺對編寫語法要求不同,所以調試時應該同時運行Android和iOS及時發(fā)現(xiàn)報錯。
不支持的 JS/TS 語法
// 1.解構
const { a, b } = response.data; // 不支持
const data = {...response.data, ...other} // 不支持
// 2.對象的變量取值
const a = "a";
const obj = {
a() {
return "test";
},
};
obj[a](); // 不支持
// 3. 函數(shù)返回Promise時同時有resolve和reject會有類型推斷問題。
const promiseExample = (param: booleam) => { // 會報錯,暫未找到解決辦法,只能全部使用Promise.reslove
if(param) {
return Promise.reslove("")
} else {
return Promise.reject(new Error())
}
}
// 4. 不支持短路操作
const str = other || "get" //錯誤用法,str在APP上為 false
let str: string; // 正確用法:顯式的為變量賦值
if(typeof other === "string") {
str === other
} else {
str === "get"
}
// 5. 沒有隱式類型轉換
const a = ""
if(a) { // 錯誤用法,會報類型錯誤
// handles
}
if(typeof a === "string") { // 正確用法1
// handles
}
if(a === "") {// 正確用法2
// handles
}
// 6. 對象未定義屬性值引用
const config = {
a: "a"
}
fun(config.g) // Unresolved reference: g
// 7. 為對象的可選屬性的屬性賦值
interface MyObject {
optionalProp?: {
nestedProp: string;
};
}
const obj: MyObject = {
// ...
}
// 為可選屬性的屬性賦值包含兩步,分別是邏輯判斷是否為空和類型斷言
if (typeof obj.optionalProp === "object") {
obj.optionalProp!.nestedProp = "1234"
}
// 8. Promise.all()的返回值不能確定類型,所以要顯式的處理一次
Promise.all(dataList.map(handles as Promise<string>))// 返回類型為Promise<unknow[]>,需要在.then的成功回調里return類型明確的值
.then((res : string[]) => res.join(","))
總結
到此這篇關于uniappx語法差異匯總的文章就介紹到這了,更多相關uniappx語法差異內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript檢查表單數(shù)據(jù)是否改變的方法
需要檢查用戶是否修改了一個表單中的內容,可以使用本文提供的方法,如果修改了表單的內容則返回true,沒修改則返回false,有需求的朋友可以參考下2013-07-07
JS highcharts動態(tài)柱狀圖原理及實現(xiàn)
這篇文章主要介紹了JS highcharts動態(tài)柱狀圖原理及實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
JavaScript讀取中文cookie時的亂碼問題的解決方法
讀取中文cookie時出現(xiàn)亂碼,下面是具體的解決方法,大家以后使用過程中,盡量不要用中文。2009-10-10
JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法
這篇文章主要介紹了JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法,涉及JavaScript遍歷及動態(tài)修改頁面元素屬性的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09

