我们上篇内容介绍了TS中的常见的几种数据类型,今天我们一起再学习一下在TS中如何编写条件语句与循环语句。
这个就是我们常说的if...else..。
在TS中我们可以通过如下形式来编写
let num1: number = 5;
let num2: number = 10;
let num3: number = 15;
if (num1 < num2) console.log(`${num1}小于${num2}`);
当只有一行代码需要执行时我们可以省略花括号,但是我还是不太建议这样编写。
let num1: number = 5;
let num2: number = 10;
let num3: number = 15;
if (num1 < num2) {
console.log(`${num1}小于${num2}`);
} else if (num3 > num2) {
console.log(`${num2}小于${num3}`);
} else {
console.log("其他");
}
我们可以看到当一个条件符合后,其他的判断将不会再被执行了。因此我们在写判断语句时一定要想好先判断什么再判断什么。除了可以使用大于,小于,我们还有其他的判断条件这里就不再演示了,你可以查看一下官方文档。
我们这里再额外介绍一下三目运算,代码如下,我们可以使用?:的形式来做进行判断
num1 < num2 ? console.log(`${num1}<${num2}`) : console.log(`${num1}<${num2}`);
这个的意思是如果
判断语句成立就执行问号后面的语句,否则就执行冒号后面的语句。
我们可以通过以下的代码来实现从0打印到10
for (let i = 0; i < 10; i++) {
console.log(i);
}
我们还可以通过循环来遍历一个列表
let nums: number[] = [10, 20, 30, 40];
for (let i: number = 0; i < nums.length; i++) {
console.log(`${i} : ${nums[i]}`);
}
如果你不喜欢从0开始我们还可以修改代码如下
let nums: number[] = [10, 20, 30, 40];
for (let i: number = 0; i < nums.length; i++) {
console.log(`${i + 1} : ${nums[i]}`);
}
我们这两段代码都是通过length这个方法来获取的列表的长度。
我们还可以用另外一种形式来遍历一个列表
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let item of mixData) {
console.log(item);
}
我们这里并没有使用length来获取这个列表的长度,而是直接获取了这个列表中的元素,然后将其显示出来。
如果你还想显示这个元素的索引,我们则可以通过下面这种方式来获取
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let item of mixData.entries()) {
console.log(item[0], item[1]);
}
我们可以使用entries()这个方法,可以通过提示看到它返回两个内容一个是索引,另一个是它的值。
我们也可以通过下面这种形式来获取
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let [i, item] of mixData.entries()) {
console.log(`${i}-${item}`);
}
我们除了使用of还可以使用in来获取一个列表中的元素
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let dataPoint in mixData) {
console.log(dataPoint);
}
如果直接这样写我们会发现它返回的并不是元素而是类似元素的索引值。
为什么说是类似索引呢,因为它的数据类型是string而不是number。我们可以通过typeof来查看一下
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let dataPoint in mixData) {
console.log(typeof dataPoint);
}
由于三个值都是string所以控制台将它们合起来了,可以看到string前面有一个3。
那么怎么才能获取真正的索引呢?
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let dataPoint in mixData) {
console.log(typeof +dataPoint);
}
我们只需要在dataPoint前加一个加号即可。它等同于parseInt()
我们通过一段代码来总结一下带加号和不带加号的区别
let mixData: (number | string)[] = ["Tango", 18, "TS"];
for (let dataPoint in mixData) {
console.log(`${dataPoint + 1} - ${mixData[dataPoint]}`);
console.log(`${+dataPoint + 1} - ${mixData[dataPoint]}`);
console.log("-------------");
}
我们可以看出无论带不带加号都可以通过类似索引的方式来获取到元素。但是不带加号的和1相加后会变成一个字符串,因为字符串和数值相加后的结果就是字符串,而带加号的和1相加后会是一个数值。
今天我们一起学习了一下条件语句和循环语句,希望对你有所帮助。今天的内容就是这些了。
我是Tango,一个热爱分享技术的程序猿,我们下期见。
我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。