Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
74f90d1d
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3598
Star
108
Fork
921
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
109
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
109
合并请求
109
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
74f90d1d
编写于
12月 12, 2023
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: uts 链接错误
上级
9fa99b3f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
35 addition
and
35 deletion
+35
-35
docs/uni-app-x/uts/README.md
docs/uni-app-x/uts/README.md
+2
-2
docs/uni-app-x/uts/data-type.md
docs/uni-app-x/uts/data-type.md
+2
-2
docs/uni-app-x/uts/generics.md
docs/uni-app-x/uts/generics.md
+1
-1
docs/uni-app-x/uts/operator.md
docs/uni-app-x/uts/operator.md
+30
-30
未找到文件。
docs/uni-app-x/uts/README.md
浏览文件 @
74f90d1d
...
@@ -30,7 +30,7 @@ uts这门语言,有2个用途:
...
@@ -30,7 +30,7 @@ uts这门语言,有2个用途:
从HBuilderX 3.9起,支持uni-app x项目。
从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中使用。
也就是说,uts可以在uni-app中使用,也可以在uni-app x中使用。
...
@@ -104,7 +104,7 @@ str = "hello world"; // 报错,不允许重新赋值
...
@@ -104,7 +104,7 @@ str = "hello world"; // 报错,不允许重新赋值
```
ts
```
ts
function
test
(
score
:
number
):
boolean
{
function
test
(
score
:
number
):
boolean
{
return
(
score
>=
60
)
return
(
score
>=
60
)
}
}
test
(
61
)
// 返回true
test
(
61
)
// 返回true
```
```
...
...
docs/uni-app-x/uts/data-type.md
浏览文件 @
74f90d1d
...
@@ -115,7 +115,7 @@ number本身的使用很简单,但混入了平台专有数字类型后,会
...
@@ -115,7 +115,7 @@ number本身的使用很简单,但混入了平台专有数字类型后,会
**注意:**
**注意:**
-
Swift 中 Int 类型是根据平台动态的,在 32 位设备下等同于 Int32, 在64位设备下等同于 Int64。因此建议整型使用 Int, 除非必要,且在保证不会溢出的场景下才使用 Int32、Int64。
-
Swift 中 Int 类型是根据平台动态的,在 32 位设备下等同于 Int32, 在64位设备下等同于 Int64。因此建议整型使用 Int, 除非必要,且在保证不会溢出的场景下才使用 Int32、Int64。
-
同样,Swift 中的 UInt 类型也是根据平台动态的,在 32 位设备下等同于 UInt32, 在64位设备下等同于 UInt64。建议使用 UInt,非必要不使用 UInt32、UInt64。
-
同样,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 的类型别名, 两者等价。
-
Float32 是 Float 的类型别名, 两者等价。
-
Float64 是 Double 的类型别名, 两者等价。
-
Float64 是 Double 的类型别名, 两者等价。
...
@@ -1563,7 +1563,7 @@ uvue文件中data中的json数据也涉及类型定义。此时注意:type定
...
@@ -1563,7 +1563,7 @@ uvue文件中data中的json数据也涉及类型定义。此时注意:type定
大多数情况下,data里的json数据是空的,联网从服务器取到一段json字符串,然后再赋值并转type。
大多数情况下,data里的json数据是空的,联网从服务器取到一段json字符串,然后再赋值并转type。
由于篇幅较长,示例另见:
[
request教程
](
../
uni-app-x/
tutorial/request.md
)
由于篇幅较长,示例另见:
[
request教程
](
../tutorial/request.md
)
### type 类型的遍历
### type 类型的遍历
...
...
docs/uni-app-x/uts/generics.md
浏览文件 @
74f90d1d
...
@@ -86,4 +86,4 @@ function testArray<T extends Array<unknown>>(arg: T): T {
...
@@ -86,4 +86,4 @@ function testArray<T extends Array<unknown>>(arg: T): T {
> HBuilderX 3.9.0+ 支持通过特殊方式将泛型类型作为值使用(暂未开放),方法可以根据传入来动态决定返回类型。
> HBuilderX 3.9.0+ 支持通过特殊方式将泛型类型作为值使用(暂未开放),方法可以根据传入来动态决定返回类型。
>
>
> 这个未开放的泛型用法最常用的是在request api里,[详见](../uni-app-x/tutorial/request.md)
> 这个未开放的泛型用法最常用的是在request api里,[详见](../tutorial/request.md)
\ No newline at end of file
\ No newline at end of file
docs/uni-app-x/uts/operator.md
浏览文件 @
74f90d1d
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
| -------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| -------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| 求余(%) | | 二元运算符. 返回相除之后的余数. |
| 求余(%) | | 二元运算符. 返回相除之后的余数. |
| 自增(++) | | 一元运算符. 将操作数的值加一. 如果放在操作数前面 (++x), 则返回加一后的值; 如果放在操作数后面 (x++), 则返回操作数原值,然后再将操作数加一. |
| 自增(++) | | 一元运算符. 将操作数的值加一. 如果放在操作数前面 (++x), 则返回加一后的值; 如果放在操作数后面 (x++), 则返回操作数原值,然后再将操作数加一. |
| 自减(--) | | 一元运算符. 将操作数的值减一. 前后缀两种用法的返回值类似自增运算符.
| 自减(--) | | 一元运算符. 将操作数的值减一. 前后缀两种用法的返回值类似自增运算符.
| 加(+) | | 二元运算符. 将两个数相加. |
| 加(+) | | 二元运算符. 将两个数相加. |
| 减(-) | | 二元运算符. 将两个数相减. |
| 减(-) | | 二元运算符. 将两个数相减. |
| 乘(
*
) | | 二元运算符. 将两个数相乘. |
| 乘(
*
) | | 二元运算符. 将两个数相乘. |
...
@@ -221,8 +221,8 @@ uts 中算数运算符在大部分场景下和 ts 中的行为一致,但是在
...
@@ -221,8 +221,8 @@ uts 中算数运算符在大部分场景下和 ts 中的行为一致,但是在
| 不同的专有类型变量相加 #{rowspan=2}| let a: Int = 1; let b: Float = 3.14.toFloat(); a + b | 结果为4.14, Float |编译失败,不同类型变量不能操作 |
| 不同的专有类型变量相加 #{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 |编译失败,不同类型变量不能操作 |
| let a: Float = 1.0.toFloat(); let b: Double = 3.14; a + b| 结果为4.14,Double |编译失败,不同类型变量不能操作 |
**已知Bug**
**已知Bug**
-
Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
-
Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
## 比较运算符的跨数字类型注意@comparisondifftype
## 比较运算符的跨数字类型注意@comparisondifftype
...
@@ -375,20 +375,20 @@ a as string | null // 正常
...
@@ -375,20 +375,20 @@ a as string | null // 正常
## typeof实例类型获取@typeof
## typeof实例类型获取@typeof
使用
`typeof`
运算符获取一个实例对象的类型,返回表示类型的字符串。
使用
`typeof`
运算符获取一个实例对象的类型,返回表示类型的字符串。
| 类型 | 结果 |
| 类型 | 结果 |
| ------------------------------------------------------ | ---------------- |
| ------------------------------------------------------ | ---------------- |
| null | "object" |
| null | "object" |
| boolean | "boolean" |
| boolean | "boolean" |
| number | "number" |
| number | "number" |
| string | "string" |
| string | "string" |
| function | "function" |
| function | "function" |
| 平台专有数字类型: Int, Float, Double, Long ... | "Int","Float","Double","Long" ... |
| 平台专有数字类型: 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
)
为了与web保持一致,typeof除了布尔、数字、字符串、函数外,全部返回object。如需判断object范围内的具体类型,需另见
[
instanceof
](
#instanceof
)
...
@@ -400,7 +400,7 @@ let b: Double = 3.14
...
@@ -400,7 +400,7 @@ let b: Double = 3.14
let
c
:
Int
=
2
let
c
:
Int
=
2
typeof
a
==
"
number
"
//true
typeof
a
==
"
number
"
//true
typeof
b
==
"
Double
"
//true
typeof
b
==
"
Double
"
//true
typeof
c
==
"
Int
"
//true
typeof
c
==
"
Int
"
//true
// string
// string
...
@@ -408,7 +408,7 @@ let str = "hello uts"
...
@@ -408,7 +408,7 @@ let str = "hello uts"
typeof
str
==
"
string
"
//true
typeof
str
==
"
string
"
//true
//boolean
//boolean
let
ret
=
true
let
ret
=
true
typeof
ret
==
"
boolean
"
//true
typeof
ret
==
"
boolean
"
//true
//function
//function
...
@@ -434,13 +434,13 @@ typeof [1, 2, 3] == "object" //true
...
@@ -434,13 +434,13 @@ typeof [1, 2, 3] == "object" //true
```
```
**注意**
**注意**
`typeof`
运算符的参数只能是实例对象,不能是类型,如下操作是错误用法:
`typeof`
运算符的参数只能是实例对象,不能是类型,如下操作是错误用法:
```
ts
```
ts
type
MyType
=
{
type
MyType
=
{
name
:
string
name
:
string
}
}
typeof
MyType
//报错
typeof
MyType
//报错
```
```
`typeof`
运算返回值一定是字符串,不会返回 TypeScript 类型,这与TypeScript存在差异:
`typeof`
运算返回值一定是字符串,不会返回 TypeScript 类型,这与TypeScript存在差异:
...
@@ -452,7 +452,7 @@ let my:MyType = {name:"abc"}
...
@@ -452,7 +452,7 @@ let my:MyType = {name:"abc"}
type
NewType
=
typeof
my
;
//报错
type
NewType
=
typeof
my
;
//报错
```
```
**特殊情况**
**特殊情况**
在Android平台,将 number 类型赋值给 any 类型变量时,会根据数值将类型转变为实际平台专有数字类型,使用 typeof 获取此 any 类型变量将会返回实际平台专有数字类型。
在Android平台,将 number 类型赋值给 any 类型变量时,会根据数值将类型转变为实际平台专有数字类型,使用 typeof 获取此 any 类型变量将会返回实际平台专有数字类型。
```
ts
```
ts
...
@@ -462,13 +462,13 @@ let c: any = a
...
@@ -462,13 +462,13 @@ let c: any = a
let
d
:
any
=
b
let
d
:
any
=
b
typeof
a
==
"
number
"
//true
typeof
a
==
"
number
"
//true
typeof
b
==
"
Double
"
//true
typeof
b
==
"
Double
"
//true
typeof
d
==
"
Double
"
//true
typeof
d
==
"
Double
"
//true
// 在 iOS 平台上
// 在 iOS 平台上
typeof
c
==
"
number
"
//true
typeof
c
==
"
number
"
//true
// 在Android平台上变量c会根据数据实际数值转换为平台专有数字类型Double
// 在Android平台上变量c会根据数据实际数值转换为平台专有数字类型Double
typeof
c
==
"
number
"
//false 真实返回的是 "Double"
typeof
c
==
"
number
"
//false 真实返回的是 "Double"
```
```
...
@@ -484,15 +484,15 @@ typeof Double //在Android平台Double有伴生对象可以正常运行,实
...
@@ -484,15 +484,15 @@ typeof Double //在Android平台Double有伴生对象可以正常运行,实
使用
`instanceof`
运算符执行运行时检查,以标识对象是否符合给定类型。
使用
`instanceof`
运算符执行运行时检查,以标识对象是否符合给定类型。
| 类型 | 结果 |
| 类型 | 结果 |
| ------------------------------------------------------------------------------------ | ---------------- |
| ------------------------------------------------------------------------------------ | ---------------- |
| Boolean | 编译报错,不支持 |
| Boolean | 编译报错,不支持 |
| Number | 编译报错,不支持 |
| Number | 编译报错,不支持 |
| String | 编译报错,不支持 |
| String | 编译报错,不支持 |
| 平台专有数字类型: Int, Float, Double, Long ... | true or false |
| 平台专有数字类型: 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` 对上述类型的判断。
> HBuilderX3.9.0 使用 `instaceof` 对 Boolean, Number, String 类型的实例进行判断会编译报错,请使用 `typeof` 。在HBuilderX3.9.0之前版本可正常使用 `instaceof` 对上述类型的判断。
...
@@ -532,7 +532,7 @@ let a: Double = 3.14
...
@@ -532,7 +532,7 @@ let a: Double = 3.14
let
b
:
Int
=
2
let
b
:
Int
=
2
a
instanceof
Double
//true
a
instanceof
Double
//true
b
instanceof
Int
//true
b
instanceof
Int
//true
```
```
...
@@ -540,7 +540,7 @@ b instanceof Int //true
...
@@ -540,7 +540,7 @@ b instanceof Int //true
> 3.93+ (Android)
> 3.93+ (Android)
await 操作符用于等待一个
[
Promise
](
./buildin-object-api/promise.md
)
兑现并获取它兑现之后的值。它只能在
[
异步函数
](
./function.md#async
)
中使用。
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
```
ts
async
function
test
():
Promise
<
string
>
{
async
function
test
():
Promise
<
string
>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录