Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
3bb87d10
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
3bb87d10
编写于
8月 22, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 22, 2023
浏览文件
操作
浏览文件
下载
差异文件
!21946 更新ArkTS文档
Merge pull request !21946 from huoqingyi/arkts_docs_v1
上级
31583289
75f5256a
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
1518 addition
and
1311 deletion
+1518
-1311
en/application-dev/quick-start/introduction-to-arkts.md
en/application-dev/quick-start/introduction-to-arkts.md
+319
-184
en/application-dev/quick-start/typescript-to-arkts-migration-guide.md
...on-dev/quick-start/typescript-to-arkts-migration-guide.md
+679
-644
zh-cn/application-dev/quick-start/introduction-to-arkts.md
zh-cn/application-dev/quick-start/introduction-to-arkts.md
+36
-17
zh-cn/application-dev/quick-start/typescript-to-arkts-migration-guide.md
...on-dev/quick-start/typescript-to-arkts-migration-guide.md
+484
-466
未找到文件。
en/application-dev/quick-start/introduction-to-arkts.md
浏览文件 @
3bb87d10
此差异已折叠。
点击以展开。
en/application-dev/quick-start/typescript-to-arkts-migration-guide.md
浏览文件 @
3bb87d10
此差异已折叠。
点击以展开。
zh-cn/application-dev/quick-start/introduction-to-arkts.md
浏览文件 @
3bb87d10
...
...
@@ -766,7 +766,7 @@ class Point {
x
:
number
=
0
y
:
number
=
0
}
let
p
:
Point
=
{
42
,
42
}
let
p
:
Point
=
{
x
:
42
,
y
:
42
}
```
### 字段
...
...
@@ -868,11 +868,11 @@ class Rectangle {
}
```
实例方法需要在类的实例上调用
:
必须通过类的实例调用实例方法
:
```
typescript
let
r
=
new
Rectangle
(
10
,
10
)
console
.
log
(
square
.
calculateArea
())
//
output:
100
let
square
=
new
Rectangle
(
10
,
10
)
console
.
log
(
square
.
calculateArea
())
//
输出:
100
```
#### 静态方法
...
...
@@ -883,7 +883,7 @@ console.log(square.calculateArea()) // output: 100
所有实例都可以访问静态方法。
要调用静态方法,需要使用类名
:
必须通过类名调用静态方法
:
```
typescript
class
Cl
{
...
...
@@ -1309,7 +1309,7 @@ class Stack<Element> {
public
pop
():
Element
{
// ...
}
public
push
(
e
:
Element
)
{
public
push
(
e
:
Element
)
:
void
{
// ...
}
}
...
...
@@ -1402,7 +1402,7 @@ foo<number>()
## 空安全
默认情况下,ArkTS中的所有类型都是不可为空的,因此类型的值不能为空。这类似于TypeScript的严格空值检查模式(
`strictNullChecks`
),但规则更严格
,而且ArkTS中没有
`undefined`
类型
。
默认情况下,ArkTS中的所有类型都是不可为空的,因此类型的值不能为空。这类似于TypeScript的严格空值检查模式(
`strictNullChecks`
),但规则更严格。
在下面的示例中,所有行都会导致编译时错误:
...
...
@@ -1454,28 +1454,47 @@ class Person {
### 可选链
可选链运算符
`?.`
可以在编写代码时遇到求值为null的表达式就停止运行
。
在访问对象属性时,如果该属性是
`undefined`
或者
`null`
,可选链运算符会返回
`undefined`
。
```
typescript
class
Person
{
// ...
spouse
:
Person
|
null
=
null
nick
:
string
|
null
=
null
getSpouseNick
():
string
|
null
{
nick
:
string
|
null
=
null
spouse
?:
Person
setSpouse
(
spouse
:
Person
)
:
void
{
this
.
spouse
=
spouse
}
getSpouseNick
():
string
|
null
|
undefined
{
return
this
.
spouse
?.
nick
}
constructor
(
nick
:
string
)
{
this
.
nick
=
nick
this
.
spouse
=
undefined
}
}
```
**说明**
:
`getSpouseNick`
的返回类型必须为
`string | null
`
,因为该方法可能返回null
。
**说明**
:
`getSpouseNick`
的返回类型必须为
`string | null
| undefined`
,因为该方法可能返回
`null`
或者
`undefined`
。
可选链可以
是任何长度的,可包含任意数量的
`?.`
运算符。
可选链可以
任意长,可以包含任意数量的
`?.`
运算符。
在以下示例中,如果
某人有配偶,且配偶有昵称,则输出是该人的配偶昵称。否则,输出为空
:
在以下示例中,如果
一个
`Person`
的实例有不为空的
`spouse`
属性,且
`spouse`
有不为空的
`nickname`
属性,则输出
`spouse.nick`
。否则,输出
`undefined`
:
```
typescript
let
p
:
Person
=
...
console
.
log
(
p
?.
spouse
?.
nick
)
class
Person
{
nick
:
string
|
null
=
null
spouse
?:
Person
constructor
(
nick
:
string
)
{
this
.
nick
=
nick
this
.
spouse
=
undefined
}
}
let
p
:
Person
=
new
Person
(
"
Alice
"
)
console
.
log
(
p
.
spouse
?.
nick
)
// 打印undefined
```
## 模块
...
...
zh-cn/application-dev/quick-start/typescript-to-arkts-migration-guide.md
浏览文件 @
3bb87d10
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录