Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
howtodoinjava-zh
提交
3844bfd4
H
howtodoinjava-zh
项目概览
OpenDocCN
/
howtodoinjava-zh
大约 1 年 前同步成功
通知
1
Star
82
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
howtodoinjava-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3844bfd4
编写于
6月 06, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-06 19:16:28
上级
8da008c3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
52 addition
and
47 deletion
+52
-47
docs/misc/231.md
docs/misc/231.md
+1
-1
docs/misc/232.md
docs/misc/232.md
+4
-4
docs/misc/233.md
docs/misc/233.md
+24
-19
docs/misc/234.md
docs/misc/234.md
+10
-10
docs/misc/235.md
docs/misc/235.md
+11
-11
docs/misc/242.md
docs/misc/242.md
+2
-2
未找到文件。
docs/misc/231.md
浏览文件 @
3844bfd4
...
...
@@ -11,7 +11,7 @@
3.
如果参数数量相同,则它们的类型必须不同
4.
所有重载必须具有相同的返回类型
还应注意,
f
**功能
实现必须与所有重载签名**
兼容。 它应该始终是列表中的
**最后一个,并以`any`类型或[联合类型](https://howtodoinjava.com/typescript/union-types/)作为其参数的类型。**
还应注意,
**函数
实现必须与所有重载签名**
兼容。 它应该始终是列表中的
**最后一个,并以`any`类型或[联合类型](https://howtodoinjava.com/typescript/union-types/)作为其参数的类型。**
## 函数重载示例
...
...
docs/misc/232.md
浏览文件 @
3844bfd4
...
...
@@ -12,9 +12,9 @@ Transpiler 或**源到源编译器**是读取用一种编程语言编写的源
功能很棒,但是大多数浏览器直到现在都不支持该规范。 因此,用 ES6 编写的任何 UI 应用规范都无法在大多数浏览器中运行。 要运行这些应用,必须将此 ES6 源代码转换为受支持的 JavaScript 版本 ES5。 几乎所有浏览器都支持 ES5,并且是迄今为止最稳定的版本。
> **ES6** –为 JavaScript 带来“类型”。 使它更接近强类型语言,例如 Java,C#。 到目前为止,大多数浏览器都不支持它。 必须将其转换为 ES5 才能在浏览器中执行。
> **ES6** –
为 JavaScript 带来“类型”。 使它更接近强类型语言,例如 Java,C#。 到目前为止,大多数浏览器都不支持它。 必须将其转换为 ES5 才能在浏览器中执行。
>
> **ES5** –
这些年来,我们一直在编写 Vanilla
JavaScript。
> **ES5** –
这些年来,我们一直在编写朴素的
JavaScript。
## 特兰大三角帆
...
...
@@ -22,7 +22,7 @@ Transpiler 或**源到源编译器**是读取用一种编程语言编写的源
> **Transpiler 做什么?**
>
> ES6 代码
=
> ES5 代码(甚至还有 ES4,ES3)
> ES6 代码
=
> ES5 代码(甚至还有 ES4,ES3)
`tsconfig.json`
文件中提供了 TypeScript 的 Transpiler 配置。
...
...
@@ -52,7 +52,7 @@ Transpiler 或**源到源编译器**是读取用一种编程语言编写的源
## Transpiler 演示
让我们看看 ES6
ro
ES5 转换的工作原理。 创建一个文件
`helloworld.ts`
并在其中写入此代码。
让我们看看 ES6
到
ES5 转换的工作原理。 创建一个文件
`helloworld.ts`
并在其中写入此代码。
#### ES6 代码
...
...
docs/misc/233.md
浏览文件 @
3844bfd4
# JavaScript 中的真
实和虚假
# JavaScript 中的真
值和假值
> 原文: [https://howtodoinjava.com/typescript/truthy-and-falsy/](https://howtodoinjava.com/typescript/truthy-and-falsy/)
在 JavaScript 中,真值是
表示布尔值为
`true`
的表达式,而 falsy 则
等于布尔值
`false`
的表达式。 与其他语言不同,
`true`
和
`false`
值不限于
`boolean`
数据类型和比较。 它可以具有许多其他形式。
在 JavaScript 中,真值是
等于布尔值
`true`
的表达式,而假值则是
等于布尔值
`false`
的表达式。 与其他语言不同,
`true`
和
`false`
值不限于
`boolean`
数据类型和比较。 它可以具有许多其他形式。
让我们了解什么使 JavaScript 中的真假表达式成为事实。
##
虚假
##
假值
javascript 中共有
**个共 6 个虚假值/表达式**
。 我将使用此函数来检查值是真实的还是虚假的
。
javascript 中共有
**6 个假值/表达式**
。 我将使用此函数来检查值是真值还是假值
。
```
java
function
testTruthyFalsy
(
val
)
...
...
@@ -18,24 +18,27 @@ function testTruthyFalsy (val)
```
| 虚假价值/表达 | 描述 |
| 布尔‘
`false`
’ | Obviously boolean
`false`
is
`false`
.
布尔‘
`false`
’
显然布尔值
`false`
是
`false`
。
```
java
testTruthyFalsy
(
false
);
//Prints 'falsy'
```
|
| 空字符串,即
`''`
| Any empty string will be evaluated to
`false`
.
空字符串,即
`''`
任何空字符串都将被求值为
`false`
。
```
java
testTruthyFalsy
(
''
);
//Prints 'falsy'
```
|
|
`undefined`
| Any
`undefined`
variable will be equal to
`false`
.
`undefined`
任何
`undefined`
变量将等于
`false`
。
```
java
var
my_var
=
undefined
;
...
...
@@ -43,8 +46,9 @@ function testTruthyFalsy (val)
```
|
|
`null`
| Any
`null`
variable will be equal to
`false`
.
`null`
任何
`null`
变量将等于
`false`
。
```
java
var
my_var
=
null
;
...
...
@@ -52,16 +56,18 @@ function testTruthyFalsy (val)
```
|
|
`NaN`
| Any numerical expression with result in
`NaN`
(not a number) will be equal to
`false`
.
`NaN`
结果为
`NaN`
(不是数字)的任何数值表达式都将等于
`false`
。
```
java
testTruthyFalsy
(
NaN
);
//Prints 'falsy'
```
|
| 数字零,即+0 或-0 | Any numerical expression with result in zero (
`+0`
or
`-0`
) will be equal to
`false`
.
数字零,即 +0 或 -0
任何结果为零(
`+0`
或
`-0`
)的数值表达式都将等于
`false`
。
```
java
testTruthyFalsy
(
2
-
2
);
//Prints 'falsy'
...
...
@@ -69,11 +75,10 @@ function testTruthyFalsy (val)
```
|
##
特鲁西
##
真值
除了上面列出的
虚假值以外的任何表达式或值
**-被认为是真实的。 例如**
除了上面列出的
假值以外的任何表达式或值 - 被认为是真值。 例如:
```
java
function
testTruthyFalsy
(
val
)
...
...
docs/misc/234.md
浏览文件 @
3844bfd4
#
等于运算符(==)与严格等于运算符(===
)
#
相等运算符(`==`)与严格相等运算符(`===`
)
> 原文: [https://howtodoinjava.com/typescript/equals-vs-strict-equals/](https://howtodoinjava.com/typescript/equals-vs-strict-equals/)
在 TypeScript(和 JavaScript)中,您可以与
*相等运算符*
(
`'=='`
)或
*严格相等运算符*
(
`'==='`
)比较。 两者似乎几乎相似; 但是他们比较两个值的方式却大不相同。
##
等于运算符(==
)
##
相等运算符(`==`
)
比较
`x == y`
和 equals 运算符(其中 x 和 y
是值)会产生
`true`
或
`false`
。 要知道的重要一点是,在比较两个值时,JavaScript 运行时将执行类型转换以使两个值都具有相同的类型。
使用相等运算符比较
`x == y`
(其中
`x`
和
`y`
是值)会产生
`true`
或
`false`
。 要知道的重要一点是,在比较两个值时,JavaScript 运行时将执行类型转换以使两个值都具有相同的类型。
例如,如果尝试将
`string`
值与
`number`
值进行比较,则
`string`
值将首先转换为
`number`
类型,然后进行比较。
...
...
@@ -19,7 +19,7 @@ ToNumber("10") === 10
```
> 阅读更多:[完全
平
等比较算法](https://ecma-international.org/ecma-262/5.1/#sec-11.9.3)
> 阅读更多:[完全
相
等比较算法](https://ecma-international.org/ecma-262/5.1/#sec-11.9.3)
让我们看一个例子。
...
...
@@ -33,14 +33,14 @@ a == '10' //true
查看上面示例中的最后两个语句。 变量
`'a'`
如何等于
`number 10`
和
`string '10'`
。
## 严格
等于运算符(===
)
## 严格
相等运算符(`===`
)
比较
`x === y`
和 equals 运算符,其中 x 和 y
是值,仅在以下情况下才产生
`true`
或
`false`
:
使用相等运算符比较
`x === y`
,其中
`x`
和
`y`
是值,仅在以下情况下才产生
`true`
或
`false`
:
1.
x 和 y
的类型相同
2.
x 和 y
的值相等
1.
`x`
和
`y`
的类型相同
2.
`x`
和
`y`
的值相等
Let’s understand with an example.
让我们看一个例子。
```
java
let
a
=
10
;
...
...
@@ -54,7 +54,7 @@ a === '10' //false
## 使用哪个运算符?
作为建议,建议
**
使用严格等于运算符,始终为
**
。 这很有帮助,因为
作为建议,建议
**
始终使用严格相等运算符
**
。 这很有帮助,因为
1.
您无需在检查相等性时记住类型转换规则。
2.
如预期的那样,比较不同的数据类型应为
`false`
。
...
...
docs/misc/235.md
浏览文件 @
3844bfd4
#
在 JavaScript 中未定义 vs 空
#
JavaScript 中的`undefined` vs `null`
> 原文: [https://howtodoinjava.com/typescript/undefined-vs-null/](https://howtodoinjava.com/typescript/undefined-vs-null/)
如果变量已经声明但尚未初始化,则称其为
**“ `undefined`”。 而**
“
`null`
”被分配给当时没有
**值的变量。**
如果变量已经声明但尚未初始化,则称其为
“
`undefined`
”。 而“
`null`
”被分配给当时没有
**值**
的变量。
简单来说,当您不为变量赋值时,JavaScript 引擎会将其视为
`undefined`
。
`null`
值是由程序员分配的,以指示变量内部没有变量,但打算在以后的程序执行中使用该值。
##
未定义
##
`undefined`
请参阅下面的 JavaScript 语句以了解
`undefined`
。
...
...
@@ -21,18 +21,18 @@ console.log( undeclaredVar ); //Uncaught ReferenceError: undeclaredVar is not de
```
如果看到一个值
未定义
的变量,则说明:
如果看到一个值
`undefined`
的变量,则说明:
1.
该变量已在程序中声明。
2.
变量没有赋值。
3.
如果检查变量
`type`
,它将是
`undefined`
。 请注意,这是 JavaScript 中的原始类型之一
[字符串,数字,布尔值,null,未定义,符号(ES6 中的新增功能)]
。
3.
如果检查变量
`type`
,它将是
`undefined`
。 请注意,这是 JavaScript 中的原始类型之一
:字符串,数字,布尔值,
`null`
,
`undefined`
,符号(ES6 中的新增功能)
。
4.
如果函数返回
`undefined`
,则未返回任何值。
> `undefined`在 JavaScript 中不是保留关键字。
##
空值
##
`null`
`null`
表示故意缺乏
价值。 从概念上讲,它与 Java,C#
等其他编程语言中的
`null`
非常相似。
`null`
表示缺少标识,表示变量指向没有对象。
`null`
表示故意缺乏
的值。 从概念上讲,它与 Java,C#
等其他编程语言中的
`null`
非常相似。
`null`
表示缺少标识,表示变量指向没有对象。
```
java
var
myVar
=
null
;
//Variable declared and assigned to null
...
...
@@ -45,11 +45,11 @@ console.log( typeof(myVar) ); //object
请注意,
`null`
的类型为
`object`
,具有有效值,无属性,不可更改,并且系统中始终只存在相同的单个实例。
## 将
等于运算符与 null 和 undefined
一起使用
## 将
相等运算符与`null`和`undefined`
一起使用
当您想清楚地区分
`null`
和
`undefined`
变量时,请始终记住使用严格相等运算符(
`===`
)将变量与
`null`
和
`undefined`
进行比较。
> 了解更多:JavaScript 中的
[== vs ===
](https://howtodoinjava.com/typescript/equals-vs-strict-equals/)
> 了解更多:JavaScript 中的
[`==` vs `===`
](https://howtodoinjava.com/typescript/equals-vs-strict-equals/)
```
java
var
myUndefinedVar
;
//undefined
...
...
@@ -61,12 +61,12 @@ myUndefinedVar === myNullVar; //false - correct behavior
```
##
null
等于零
##
`null`
等于零
`null`
和
`undefined`
之间的主要区别在于将它们转换为原始类型的方式。
*
`null`
在执行基本操作时会转换为零(0)。
*
`undefined`
转换为
NaN
。
*
`undefined`
转换为
`NaN`
。
```
java
var
myUndefinedVar
;
//undefined
...
...
docs/misc/242.md
浏览文件 @
3844bfd4
...
...
@@ -29,7 +29,7 @@ Angular 会自动从组件中提取`propertyName`和`object.propertyName`的值
## 3\. 角插值用法
1.
**显示简单属性**
–插值可用于显示和
评估
HTML 元素标签之间以及属性分配内的文本字符串。
1.
**显示简单属性**
–插值可用于显示和
求值
HTML 元素标签之间以及属性分配内的文本字符串。
```java
<h1>Greetings {{ name }}! </h1>
...
...
@@ -38,7 +38,7 @@ Angular 会自动从组件中提取`propertyName`和`object.propertyName`的值
```
2.
**
评估算术表达式**
–插值的另一种用法是评估
花括号内的算术表达式。
2.
**
求值算术表达式**
–插值的另一种用法是求值
花括号内的算术表达式。
```java
<h6>{{3 + 5}}</h6> //outputs 8 on HTML browser
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录