提交 74f90d1d 编写于 作者: D DCloud_LXH

fix: uts 链接错误

上级 9fa99b3f
......@@ -30,7 +30,7 @@ uts这门语言,有2个用途:
从HBuilderX 3.9起,支持uni-app x项目。
uni-app x 开发App时,输出的是纯原生的App(Android上就是kotlin的app),里面没有js引擎和webview。详见[uni-app x](../uni-app-x/)
uni-app x 开发App时,输出的是纯原生的App(Android上就是kotlin的app),里面没有js引擎和webview。详见[uni-app x](../readme.md)
也就是说,uts可以在uni-app中使用,也可以在uni-app x中使用。
......@@ -104,7 +104,7 @@ str = "hello world"; // 报错,不允许重新赋值
```ts
function test(score: number): boolean {
return (score>=60)
return (score>=60)
}
test(61) // 返回true
```
......
......@@ -115,7 +115,7 @@ number本身的使用很简单,但混入了平台专有数字类型后,会
**注意:**
- Swift 中 Int 类型是根据平台动态的,在 32 位设备下等同于 Int32, 在64位设备下等同于 Int64。因此建议整型使用 Int, 除非必要,且在保证不会溢出的场景下才使用 Int32、Int64。
- 同样,Swift 中的 UInt 类型也是根据平台动态的,在 32 位设备下等同于 UInt32, 在64位设备下等同于 UInt64。建议使用 UInt,非必要不使用 UInt32、UInt64。
- Float16 在 iOS14.0 及以上系统上才能使用,使用时注意做系统版本号判断。[参考](../plugin/uts-uni-api.md#设备)
- Float16 在 iOS14.0 及以上系统上才能使用,使用时注意做系统版本号判断。[参考](../../plugin/uts-uni-api.md#设备)
- Float32 是 Float 的类型别名, 两者等价。
- Float64 是 Double 的类型别名, 两者等价。
......@@ -1563,7 +1563,7 @@ uvue文件中data中的json数据也涉及类型定义。此时注意:type定
大多数情况下,data里的json数据是空的,联网从服务器取到一段json字符串,然后再赋值并转type。
由于篇幅较长,示例另见:[request教程](../uni-app-x/tutorial/request.md)
由于篇幅较长,示例另见:[request教程](../tutorial/request.md)
### type 类型的遍历
......
......@@ -86,4 +86,4 @@ function testArray<T extends Array<unknown>>(arg: T): T {
> HBuilderX 3.9.0+ 支持通过特殊方式将泛型类型作为值使用(暂未开放),方法可以根据传入来动态决定返回类型。
>
> 这个未开放的泛型用法最常用的是在request api里,[详见](../uni-app-x/tutorial/request.md)
\ No newline at end of file
> 这个未开放的泛型用法最常用的是在request api里,[详见](../tutorial/request.md)
\ No newline at end of file
......@@ -36,7 +36,7 @@
| -------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| 求余(%) | | 二元运算符. 返回相除之后的余数. |
| 自增(++) | | 一元运算符. 将操作数的值加一. 如果放在操作数前面 (++x), 则返回加一后的值; 如果放在操作数后面 (x++), 则返回操作数原值,然后再将操作数加一. |
| 自减(--) | | 一元运算符. 将操作数的值减一. 前后缀两种用法的返回值类似自增运算符.
| 自减(--) | | 一元运算符. 将操作数的值减一. 前后缀两种用法的返回值类似自增运算符.
| 加(+) | | 二元运算符. 将两个数相加. |
| 减(-) | | 二元运算符. 将两个数相减. |
| 乘(*) | | 二元运算符. 将两个数相乘. |
......@@ -221,8 +221,8 @@ uts 中算数运算符在大部分场景下和 ts 中的行为一致,但是在
| 不同的专有类型变量相加 #{rowspan=2}| let a: Int = 1; let b: Float = 3.14.toFloat(); a + b | 结果为4.14, Float |编译失败,不同类型变量不能操作 |
| let a: Float = 1.0.toFloat(); let b: Double = 3.14; a + b| 结果为4.14,Double |编译失败,不同类型变量不能操作 |
**已知Bug**
- Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
**已知Bug**
- Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
## 比较运算符的跨数字类型注意@comparisondifftype
......@@ -375,20 +375,20 @@ a as string | null // 正常
## typeof实例类型获取@typeof
使用 `typeof` 运算符获取一个实例对象的类型,返回表示类型的字符串。
使用 `typeof` 运算符获取一个实例对象的类型,返回表示类型的字符串。
| 类型 | 结果 |
| ------------------------------------------------------ | ---------------- |
| null | "object" |
| boolean | "boolean" |
| number | "number" |
| string | "string" |
| function | "function" |
| 类型 | 结果 |
| ------------------------------------------------------ | ---------------- |
| null | "object" |
| boolean | "boolean" |
| number | "number" |
| string | "string" |
| function | "function" |
| 平台专有数字类型: Int, Float, Double, Long ... | "Int","Float","Double","Long" ... |
| 其他任何对象(包含但不限于:Date, Array, Map, UTSJSONObject) | "object" |
| 其他任何对象(包含但不限于:Date, Array, Map, UTSJSONObject) | "object" |
> 特别说明:
> HBuilderX3.9.0统一为以上规范,在HBuilderX3.9.0之前版本平台专有数字类型变量使用typeof操作符获取的值为"number"
> 特别说明:
> HBuilderX3.9.0统一为以上规范,在HBuilderX3.9.0之前版本平台专有数字类型变量使用typeof操作符获取的值为"number"
为了与web保持一致,typeof除了布尔、数字、字符串、函数外,全部返回object。如需判断object范围内的具体类型,需另见[instanceof](#instanceof)
......@@ -400,7 +400,7 @@ let b: Double = 3.14
let c: Int = 2
typeof a == "number" //true
typeof b == "Double" //true
typeof b == "Double" //true
typeof c == "Int" //true
// string
......@@ -408,7 +408,7 @@ let str = "hello uts"
typeof str == "string" //true
//boolean
let ret = true
let ret = true
typeof ret == "boolean" //true
//function
......@@ -434,13 +434,13 @@ typeof [1, 2, 3] == "object" //true
```
**注意**
**注意**
`typeof` 运算符的参数只能是实例对象,不能是类型,如下操作是错误用法:
```ts
type MyType = {
name:string
}
typeof MyType //报错
typeof MyType //报错
```
`typeof` 运算返回值一定是字符串,不会返回 TypeScript 类型,这与TypeScript存在差异:
......@@ -452,7 +452,7 @@ let my:MyType = {name:"abc"}
type NewType = typeof my; //报错
```
**特殊情况**
**特殊情况**
在Android平台,将 number 类型赋值给 any 类型变量时,会根据数值将类型转变为实际平台专有数字类型,使用 typeof 获取此 any 类型变量将会返回实际平台专有数字类型。
```ts
......@@ -462,13 +462,13 @@ let c: any = a
let d: any = b
typeof a == "number" //true
typeof b == "Double" //true
typeof b == "Double" //true
typeof d == "Double" //true
// 在 iOS 平台上
typeof c == "number" //true
// 在Android平台上变量c会根据数据实际数值转换为平台专有数字类型Double
// 在Android平台上变量c会根据数据实际数值转换为平台专有数字类型Double
typeof c == "number" //false 真实返回的是 "Double"
```
......@@ -484,15 +484,15 @@ typeof Double //在Android平台Double有伴生对象可以正常运行,实
使用 `instanceof` 运算符执行运行时检查,以标识对象是否符合给定类型。
| 类型 | 结果 |
| ------------------------------------------------------------------------------------ | ---------------- |
| Boolean | 编译报错,不支持 |
| Number | 编译报错,不支持 |
| String | 编译报错,不支持 |
| 类型 | 结果 |
| ------------------------------------------------------------------------------------ | ---------------- |
| Boolean | 编译报错,不支持 |
| Number | 编译报错,不支持 |
| String | 编译报错,不支持 |
| 平台专有数字类型: Int, Float, Double, Long ... | true or false |
| typeof 结果为 "object" 的类型(包含但不限于:Date, Array, Map, UTSJSONObject, 自定义类型) | true or false |
| typeof 结果为 "object" 的类型(包含但不限于:Date, Array, Map, UTSJSONObject, 自定义类型) | true or false |
> 特别说明:
> 特别说明:
> HBuilderX3.9.0 使用 `instaceof` 对 Boolean, Number, String 类型的实例进行判断会编译报错,请使用 `typeof` 。在HBuilderX3.9.0之前版本可正常使用 `instaceof` 对上述类型的判断。
......@@ -532,7 +532,7 @@ let a: Double = 3.14
let b: Int = 2
a instanceof Double //true
b instanceof Int //true
b instanceof Int //true
```
......@@ -540,7 +540,7 @@ b instanceof Int //true
> 3.93+ (Android)
await 操作符用于等待一个 [Promise](./buildin-object-api/promise.md) 兑现并获取它兑现之后的值。它只能在[异步函数](./function.md#async)中使用。
在 HBuilderX 3.93 以下的版本或者 iOS 平台,await 不能与 [Promise](./buildin-object-api/promise.md) 一同使用,此时请分别参考:[安卓 异步函数](../plugin/uts-for-android.md#_6-11-synchronized-lock-等线程同步概念-在uts里怎么写)[iOS 异步函数](../plugin/uts-for-ios.md#_5-1-13-异步方法)
在 HBuilderX 3.93 以下的版本或者 iOS 平台,await 不能与 [Promise](./buildin-object-api/promise.md) 一同使用,此时请分别参考:[安卓 异步函数](../../plugin/uts-for-android.md#_6-11-synchronized-lock-等线程同步概念-在uts里怎么写)[iOS 异步函数](../../plugin/uts-for-ios.md#_5-1-13-异步方法)
```ts
async function test(): Promise<string> {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册