TS 小记(5)TypeScript 基础语法

318 阅读5分钟

之前的文章介绍了变量声明和变量的类型等知识点,但仅了解这些还不够,这篇文章将介绍 TypeScript 其他基础的语法知识。熟悉这些后,我们就可以使用 TypeScript 完成简单的开发工作。

基础语法

  • TypeScript 区分字符的大小写。
  • TypeScript 会忽略程序中出现的空格、制表符和换行符,这些符号用来缩进代码,便于阅读和理解。
  • TypeScript 中语句结尾的分号是可选的,但建议使用 ;,多行语句写在同一行,则必须写分号来分隔。

保留关键字

TypeScript 中有以下这些保留关键字:

关键字备注关键字备注
any表示任意类型as类型转换
break跳出循环case用于 switch-as 条件语句
catch捕获异常class
const不可变的变量continue跳过此次循环
dodo-while 循环elseif-else 条件语句
enum枚举类型export导出组件等
extends继承false布尔值:否
finally捕获异常forfor 循环
function定义函数get
ifif-else 条件语句implements
in判断元素在数组中instanceof判断对象类型
interface接口let定义变量
module模块new创建对象
null空值number数字类型
packageprivate私有属性/方法
public公开属性/方法return函数返回
static静态属性/方法string字符串类型
super只想父类对象switchswitch-case 条件语句
this指向当前对象throw抛出异常
true布尔值:是try捕获异常
type定义类型typeof查询变量或属性的类型
var定义变量void空类型,函数没有返回值时的类型
whilewhile 循环yield

注释

TypeScript 支持三种注释:

  • 单行注释://
  • 多行注释:/* */
  • 文档注释:/** */
// 这是一个单行注释
// 这也是一个单行注释
 
/* 
 这是一个多行注释 
 这是一个多行注释 
 这是一个多行注释 
*/

/**
 这是一个文档注释 
 这是一个文档注释 
 这是一个文档注释 
*/

运算符

运算符在程序中用于运算。

TypeScript 支持以下几类运算符:

  • 算术运算符
  • 逻辑运算符
  • 比较运算符
  • 赋值运算符
  • 位运算符
  • 三元运算符
  • 字符串运算符
  • 类型运算符

算数运算符

运算符描述
+加法:x + y
-减法:x - y
*乘法:x * y
/除法:x / y
%取模(取余数):x % y
++自增 1:x = y++; y 先赋值给 x,再 y 自增 1x = ++y; y 先自增 1,再赋值给 x
--自减 1:x = y--; y 先赋值给 x,再 y 自减 1x = --y; y 先自减 1,再赋值给 x

自增1 代码示例:

let y = 5; 
let x = y++; 
console.log(`x = ${x}, y = ${y}`); 
// 输出 x = 5, y = 6 

y = 5; x = ++y; 
console.log(`x = ${x}, y = ${y}`); 
// 输出 x = 6, y = 6

逻辑运算符

逻辑运算符是对两个布尔值进行逻辑运算。

运算符描述
&&逻辑与(and),两个值都为 true 时,结果才为 true:x && y
⎮⎮逻辑或(or),两个值有一个为 true 时,结果就为 true:x ⎮⎮ y
!逻辑非(not),如果值为 true,结果为 false,如果值为 false,结果为 true:!x

比较运算符

比较运算符比较两个值的大小,得出的结果是布尔值,true 或者 false。

运算符描述
==比较两值是否相等:x == y
!=比较两值是否不等:x != y
>比较前面的值是否大于后面的值:x > y
<比较前面的值是否小于后面的值:x < y
>=比较前面的值是否大于或等于后面的值:x >= y
<=比较前面的值是否小于或等于后面的值:x <= y

赋值运算符

赋值运算符用来给变量赋值。

运算符描述
=直接赋值:x = y
+=先进行加运算再赋值:x += y 等价于 x = x + y
-=先进行减运算再赋值:x -= y 等价于 x = x - y
*=先进行乘运算再赋值:x *= y 等价于 x = x * y
/=先进行除运算再赋值:x 、= y 等价于 x = x / y

位运算符

数字在计算机中是以二进制形式存在,位运算就是对数的二进制形式按位进行运算。

运算符描述
&按位与,同一位上都是 1,结果才是 1
按位或,同一位上有一个是 1,结果就是 1
~按位取反,某一位上是 1,结果是 0,某一位上是 0,结果是 1
^按位异或,同一位上值相同,结果是 0,同一位上值不同,结果是 1
<<左移,把 << 左边的运算数的各二进位全部左移若干位,由 << 右边的数指定移动的位数,高位丢弃,低位补 0。
>>右移,把 >> 左边的运算数的各二进位全部右移若干位,>> 右边的数指定移动的位数。
>>>无符号右移,与有符号右移位类似,除了左边一律使用0 补位。

三元运算符

三元运算符有 3 个操作数,用于条件判断。

运算符描述
条件 ? 表达式1 : 表达式 2如果 条件 为 true,则返回 表达式 1;如果 条件 为 false,则返回 表达式 2
var num = 2; 
var result = num > 0 ? "大于 0" : "小于 0,或等于 0"; 
console.log(result);  // 输出:大于 0

字符串运算符

+:字符串连接运算符,将两个字符串拼接在一起形成新的字符串。

let x = "Hello, " + "World";  
console.log(x); // 输出:Hello, World

类型运算符

typeof:一元运算符,返回操作数的数据类型。

var num = 12;  
console.log(typeof num);   //输出结果: number

instanceof:用来判断对象是否是指定的类型。

var num = 12;  
console.log(num instanceof number);   //输出结果: true

条件语句

条件语句用于根据不同的条件执行不同的程序逻辑。

TypeScript 支持两种形式的条件语句:

  • if-else if-else
  • switch-case

条件语句比较简单,看下代码示例即可:

if...else-if...else 语句

let score: number = 91;
if (score >= 90) {
	console.log("优秀");
} else if (score >= 80) {
  console.log("良好");
} else if (score >= 60) {
  console.log("及格");
} else {
  console.log("不及格");
}

// 输出结果:优秀

switch...case 语句

let weather = "晴天";
switch(weather) {
    case "晴天":
        console.log("sunny");
        break;
    case "雨天":
        console.log("rainy");
        break;
    default:
        console.log("other");
        break;
}

循环

循环用来在程序中重复执行某些代码。

TypeScript 中常用的循环写法有下面几种:

  • for 循环
  • while 循环
  • do-while 循环
  • for-in 循环

下面依次结合代码示例来简单看下:

for 循环

for 循环是最常用的一种循环写法,语法如下:

for (初始值; 循环判断条件; 值变化) {
  循环体
}

例如:

// 计算从 1 加到 10
let x: number = 0;
for (let i = 1; i <= 10; i++) {
  x += i;
}
console.log(x); // 输出: 55

while 循环

while (循环判断条件) {
  循环体
}

比如:

// 计算从 1 加到 10
let x: number = 0;
let i: number = 1;
while (i <= 10) {
  x += i;
  i++;
}
console.log(x); // 输出: 55

do-while 循环

do {
  
} while (循环判断条件)

和 while 循环的循环体可能不执行不同,do-while 的循环体至少执行一次。

例如:

// 计算从 1 加到 10
let x: number = 0;
let i: number = 1;
do {
  x += i;
  i++;
} while(i <= 10);
console.log(x); // 输出: 55

for-in 循环

for-in 写法一般用来遍历集合和列表,对集合、列表中的元素进行操作:

for (元素 in 集合/列表) {
  循环体
}

例如:

let list = ["Apple", "Banana"];
for (let food in list) {
  console.log("I want to eat " + food);
}
// 输出
// I want to eat Apple
// I want to eat Banana

参考文档

TypeScript中typeof的简单介绍


开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情