Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sss宋
unidocs-zh
提交
b0c73865
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 搜索 >>
提交
b0c73865
编写于
8月 30, 2023
作者:
DCloud-yyl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update operator.md
上级
21b06c35
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
9 deletion
+32
-9
docs/uts/operator.md
docs/uts/operator.md
+32
-9
未找到文件。
docs/uts/operator.md
浏览文件 @
b0c73865
...
@@ -354,16 +354,15 @@ a as string // 异常
...
@@ -354,16 +354,15 @@ a as string // 异常
| 平台专有数字类型: 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"
> 与TypeScript的差异:
用法示例:
用法示例:
```
ts
```
ts
let
a
=
10.0
//自动推断为number类型
// number
let
a
=
10.0
let
b
:
Double
=
3.14
let
b
:
Double
=
3.14
let
c
:
Int
=
2
let
c
:
Int
=
2
...
@@ -402,12 +401,29 @@ typeof [1, 2, 3] == "object" //true
...
@@ -402,12 +401,29 @@ typeof [1, 2, 3] == "object" //true
```
```
将 number 类型赋值给 any 类型变量时,在安卓平台上存在一些特殊,会根据数值将类型转变为实际平台专有数字类型,使用 typeof 获取此 any 类型变量将会返回实际平台专有数字类型。
**注意**
`typeof`
运算符的参数只能是实例对象,不能是类型,如下操作是错误用法:
```
ts
type
MyType
=
{
name
:
string
}
typeof
MyType
//报错
```
`typeof`
运算返回值一定是字符串,不会返回 TypeScript 类型,这与TypeScript存在差异:
```
ts
```
ts
type
MyType
=
{
name
:
string
}
let
my
:
MyType
=
{
name
:
"
abc
"
}
type
NewType
=
typeof
my
;
//报错
```
**特殊情况**
在Android平台,将 number 类型赋值给 any 类型变量时,会根据数值将类型转变为实际平台专有数字类型,使用 typeof 获取此 any 类型变量将会返回实际平台专有数字类型。
// number
```
ts
let
a
=
10.0
let
a
=
10.0
//自动推断为number类型
let
b
:
Double
=
3.14
let
b
:
Double
=
3.14
let
c
:
any
=
a
let
c
:
any
=
a
let
d
:
any
=
b
let
d
:
any
=
b
...
@@ -419,11 +435,18 @@ typeof d == "Double" //true
...
@@ -419,11 +435,18 @@ typeof d == "Double" //true
// 在 iOS 平台上
// 在 iOS 平台上
typeof
c
==
"
number
"
//true
typeof
c
==
"
number
"
//true
// 在
安卓
平台上变量c会根据数据实际数值转换为平台专有数字类型Doubel
// 在
Android
平台上变量c会根据数据实际数值转换为平台专有数字类型Doubel
typeof
c
==
"
number
"
//false 真实返回的是 "Double"
typeof
c
==
"
number
"
//false 真实返回的是 "Double"
```
```
在Android平台,如果类型(或class)存在伴生对象(companion object)时,可以使用
`typeof`
运算符,返回的值为object,但不推荐这么使用
```
ts
typeof
Double
//在Android平台Double有伴生对象可以正常运行,实际值为object;在iOS平台报错
```
## instanceof实例类型判断@instanceof
## instanceof实例类型判断@instanceof
使用
`instanceof`
运算符执行运行时检查,以标识对象是否符合给定类型。
使用
`instanceof`
运算符执行运行时检查,以标识对象是否符合给定类型。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录