首页 > 其他分享 >TypeScript入门1:注释、变量常量、数据类型、函数

TypeScript入门1:注释、变量常量、数据类型、函数

时间:2024-04-30 13:55:05浏览次数:20  
标签:function TypeScript console 入门 数据类型 number let string log

console.log('hi ts');


//声明变量
let a: number = 10;
//声明常量
const b: number = 20;
// 类型推断:如果⼀个变量或常量的声明包含了初始值,TS便可以根据初始值进⾏类型推断,此时可以不显式指定其类型
let c = 60;
console.log(typeof c); //number


// 数字类型:整数和浮点数、整数和负数
let a1: number = 100;
let a2: number = -100;
let a3: number = 3.5;
let a4: number = -3.5;


// 字符串类型
let s1: string = 'hello';
let s2: string = "你好";


// 布尔类型
let b1: boolean = true;
let b2: boolean = false;


// 数组
let arr1: number[] = [1, 2, 3];
let arr2: string[] = ['1', '2', '3'];
let arr3: number[] = [];


// 对象
let person: {name: string, age: number} = {
    name: '张三',
    age: 18
}


// 函数
/**
 * 函数add: 计算并返回两个数字的和。
 * @param x {number} 第一个加数。
 * @param y {number} 第二个加数。
 * @returns {number} 两个数字的和。
 */
 function add(x: number, y: number): number {
  return x + y; // 返回x和y的和
}


//可选参数?:调⽤函数时,未传递可选参数,则该参数的值为 undefined
function getPersonInfo(name: string, age: number, gender?: string): string {
  if (gender === undefined) {
    gender = '未知'
  }
  return `name:${name},age:${age},gender:${gender}`;
}
let p1 = getPersonInfo('zhagnsan', 10, '男')
let p2 = getPersonInfo('lisi', 15);
console.log(p1);
console.log(p2);


//参数默认值
function getPersonInfo2(name: string, age: number, gender: string='未知'): string {
  return `name:${name},age:${age},gender:${gender}`;
}
let p3 = getPersonInfo2('zhagnsan', 10, '男')
let p4 = getPersonInfo2('lisi', 15);
console.log(p3);
console.log(p4);


//联合类型|:⼀个函数可能⽤于处理不同类型的值,这种情况可以使⽤联合类型
function printNumberOrString(message: number | string) {
  console.log(message)
}
printNumberOrString('a')
printNumberOrString(1)


//任意类型any
function print(message:any) {
  console.log(message)
}
print('aa')
print(11)
print(true)
print(person)

//空返回值void:若函数没有返回值,则可以使⽤ void 作为返回值类型,其含义为空
function test(): void {
  console.log('hello');
}


//返回值类型推断:函数的返回值类型可根据函数内容推断出来时,可以省略不写。
function test2() {
  //TS自动推断为void
  console.log('hello');
}
function sum2(a: number, b: number) {
  //TS自动推断为number
  return a + b;
}



//匿名函数:适⽤于简单且仅需⼀次性使⽤的场景。匿名函数能够根据上下⽂推断出参数类型,因此参数类型可以省略
let arr4: number[] = [77, 88, 99];
arr4.forEach(function(item) {
  console.log(item);
})


//lambda箭头函数:数的语法还可以进⼀步的简化,只保留参数列表和函数体两个核⼼部分,两者⽤ => 符号连接
arr4.forEach((item) => { console.log(item); })
arr4.forEach(item => console.log(item))

标签:function,TypeScript,console,入门,数据类型,number,let,string,log
From: https://www.cnblogs.com/yppah/p/18167905

相关文章

  • 【Go 语言入门专栏】Go 语言的起源与发展
    前言Go语言是当下最为流行的编程语言之一,大约在2020、2021年左右开始于国内盛行,许多大厂很早就将部分Java项目迁移到了Go,足可看出其在性能方面的优越性。相信各位都知道,在爬虫业务中,并发是一个关键的需求,不然仅靠单线程采集数据,只怕公司垮了数据都还没采完。以往编写爬虫......
  • typescript
    typescriptref:https://www.runoob.com/typescript/ts-tutorial.html安装npminstall-gtypescripttsc-vapp.tsconsthello:string="HelloWorld!"console.log(hello)然后执行以下命令将TypeScript转换为JavaScript代码:tscapp.tstscfile1.tsfile2.ts......
  • SQL实战(二)——数据类型
    MySQL数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以......
  • HydroOJ 从入门到入土(17)批量转化其他格式题库(Python)
    新题库,新快乐,新痛苦。一、想法有了多种题库之后,常常会遇到大量题库无法转化到自己的OJ上。每次都要重新手写解析器,非常浪费时间,于是抽出了这个工具。本工具可以将抽取好的信息自动组装成符合HydroOJ格式的题目并自动压缩,解决后半部分的转化工作。二、实现1.准备包和相......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第11章 触发器 读书笔记
     第11章触发器>.概述触发器是一种特殊类型的存储过程.当指定表中的数据发生变化时触发器自动生效.它与表紧密相连,可以看作表定义的一部分.触发器不能通过名称被直接调用,更不允许设置参数.在SQLSERVER中,一张表可以有多个触发器.用户可以使用INS......
  • 从零手写实现 apache Tomcat-01-入门介绍
    创作缘由平时使用tomcat等web服务器不可谓不多,但是一直一知半解。于是想着自己实现一个简单版本,学习一下tomcat的精髓。怎么实现一个tomcat呢?Tomcat就像是一个用Java语言搭起来的大舞台,专门用来演出那些用Java编写的网页剧。想要玩得转Tomcat,你最好对Java语言有所了解......
  • Mybatis Plus快速入门(一)
    1.环境准备MySQL环境配置:5.7,可以参考我之前的文章使用docker或者直接安装在服务器上面。新建一张表user,使用MybatisPlus官网提供表结构和数据。DROPTABLEIFEXISTS`user`;CREATETABLE`user`(idBIGINTNOTNULLCOMMENT'主键ID',nameVARCHAR(30)NULLD......
  • 2-ICEM入门练习:梯形切分映射
    前言这一篇主要学习icem的分割以及映射功能。几何采用一个梯形,因为icem创建的block都是长方体,所以需要将block和几何进行一一对应才可以生成网格。因此通过梯形的网格划分来理解block及映射这部分知识。其余部分比如建模等,就不详细描述。具体步骤几何如图:创建block此时......
  • 1-ICEM入门练习:正方体网格划分(六面体网格)
    1.前言采用简单几何结构进行网格划分,主要目的是熟悉ICEM操作流程及网格划分思路,参考B站博主视频进行自己练习。基本操作:鼠标中键--平移、ctrl+鼠标左键--旋转、鼠标右键上下滑动--放大缩小2.几何结构采用spceclaim建模20mm×20mm×20mm正方体几何,无需定义边界,保存文件类型......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-41-录制视频
    1.简介上一篇讲解和分享了录制自动生成脚本,索性连带录制视频也一股脑的在这里就讲解和分享了。今天我们将学习如何使用Playwright和Python来录制浏览器操作的视频,以便在需要时进行回放和分析。2.录制视频语法录制视频介绍官方API的文档地址:https://playwright.dev/python/docs/......