Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sss宋
unidocs-zh
提交
c0c59b46
unidocs-zh
项目概览
sss宋
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c0c59b46
编写于
8月 06, 2023
作者:
DCloud_Heavensoft
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
2327936c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
12 deletion
+16
-12
docs/uts/README.md
docs/uts/README.md
+16
-12
未找到文件。
docs/uts/README.md
浏览文件 @
c0c59b46
...
...
@@ -17,7 +17,7 @@ uts 采用了与 ts 基本一致的语法规范,支持绝大部分 ES6 API。
### 现状说明
uts是一门语言
,对标的是js。目前DCloud还未发布基于uts的ui开发框架。所以现阶段使用uts开发ui是很
不方便的(就像没有组件和css,拿js开发界面,还不能跨端)。
uts是一门语言
。目前DCloud还未发布基于uts的ui开发框架。所以现阶段使用uts开发ui是
不方便的(就像没有组件和css,拿js开发界面,还不能跨端)。
现阶段uts适合的场景是开发uni-app的原生插件。因为uts可以直接调用Android和iOS的原生API或jar等库。
...
...
@@ -37,7 +37,7 @@ uts 中声明变量可以用 let 或 const,详见下。
声明一个可重新赋值的变量。语法
`let [变量名] : [类型] = 值;`
。
> 相当于 TypeScript 中的 let
,kotlin 中的 var
> 相当于 TypeScript 中的 let
、kotlin 中的 var、swift 中的 var。
```
ts
let
str
:
string
=
"
hello
"
;
// 声明一个字符串变量
...
...
@@ -50,7 +50,7 @@ str = "hello world"; // 重新赋值
声明一个只读常量,只能为其赋值一次。语法
`const [变量名] : [类型] = 值;`
。
> 相当于 TypeScript 中的 const
, kotlin 中的 val
> 相当于 TypeScript 中的 const
、kotlin 中的 val、swift 中的 let。
```
ts
const
str
:
string
=
"
hello
"
;
// 声明一个字符串变量
...
...
@@ -59,9 +59,10 @@ str = "hello world"; // 报错,不允许重新赋值
注意事项:
-
当前 uts 并未限制使用 var 来声明变量,但
当使用 var 来声明变量时需要注意不同平台差异
-
当前 uts 并未限制使用 var 来声明变量,但
除非你知道你在做什么,否则不要轻易使用它,因为有不同平台差异:
*
编译至 JavaScript 平台时,等同于 JavaScript 平台的 var (存在变量提升现象)
*
编译至 Kotlin 平台时,等同于 Kotlin 平台的 var(允许重新赋值)
-
swift 中 let 是定义常量,而 uts 和 ts 中,let 是定义变量。注意勿混淆。
-
类型定义的冒号,左右可以有一个空格,也可以没有空格。
`let str:string`
和
`let str : string`
和
`let str :string`
和
`let str: string`
都是合法的。
-
不支持 TypeScript 中的联合类型
...
...
@@ -83,15 +84,18 @@ str = "hello world"; // 报错,不允许重新赋值
Int
a
=
12
```
但是更现代的语言(kotlin,TS,SWIFT 等)中,都具备类型自动推导的功能,即:如果开发者声明变量的同时,进行了初始化赋值。那么编译器可以根据赋值,自动推导出变量类型,不必开发者手动声明。 即降低了出错的可能,也降低了开发者的心智负担
现代语言(ts、kotlin、swift)中,都具备类型自动推导的功能。
即:如果开发者声明变量的同时,进行了初始化赋值。那么编译器可以根据赋值的字面量,自动推导出变量类型,不必开发者显示声明。即降低了出错的可能,也降低了开发者的心智负担
例如如下 kotlin 代码
```
kotlin
// 开发者不必描述 a的类型,编译器会自动将 12 编译为一个Int类型数据变量
var
a
=
12
```
`uts`
同样具备类型自动推导。在定义变量时如果直接赋值,而不使用冒号定义类型,也可以合法运行。
uts 同样具备类型自动推导。在定义变量时如果直接赋值字面量,而不使用冒号定义类型,也可以合法运行。
如下2种写法都是合法的,两个变量都是string类型:
...
...
@@ -100,9 +104,13 @@ let s1 :string = "hello";
let
s2
=
"
hello
"
;
```
目前 uts 未对字面量赋值类型推导做统一处理,编译到 kotlin 和 swift 时,由这2个语言自行做类型推导。但 kotlin 和 swift 的自动推导,在某些地方有细节差异。后续 uts 将统一字面量自动类型推导,详见
[
字面量
](
literal.md
)
#### 代码语句的分割
uts的多个代码语句,可以以回车或分号分割。行尾的分号可以省略。如果写在一行,应以分号分割。
uts的多个代码语句,以回车或分号分割。
多行时行尾的分号可以省略。如果写在一行,应以分号分割。
如下的代码都是合法的:
...
...
@@ -112,7 +120,3 @@ let b:boolean = false; //行尾可以加分号
let
c
:
number
=
3
;
let
d
:
number
=
4
// 同行多语句需要用分号分割
```
## 开发指南
-
[
使用 uts 开发 uni-app 原生插件
](
https://uniapp.dcloud.net.cn/plugin/uts-plugin.html
)
-
[
Android平台uts开发指南
](
https://uniapp.dcloud.net.cn/plugin/uts-for-android.html
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录