当前位置: 首页 > article >正文

鸿蒙学习之TypeScript 语法理解笔记

1、变量及数据类型

// string:字符串,单引号或双引号
let msg : string = 'hello wprld'
console.log('msg:'+msg)

// number:数值、整数、浮点
 let num :number = 21
 console.log('num:'+num)

//boolean:布尔
 let finished:  boolean = true
 console.log('finished:'+finished)

// any:不确定 可以是任意 (函数用)
let ay : any = "fake"
console.log('ay:'+ay)

// union : 联合类型、可以是多个类型中的一个
let un : string|number|boolean = "rose"
console.log('un:'+un)
un = 18
console.log('un:'+un)

// Object :对象
let p = {mame:'jack',age:28}
console.log(p.mame)
console.log(p.age)

// Array :数组,元素可以是任意类型
let names : Array<string> = ['Jack','Rose']
let ages  : number[]  = [26,28]
console.log(names[0])
console.log(ages[1])

运行结果


[LOG]: "num:21" 
[LOG]: "finished:true" 
[LOG]: "ay:fake" 
[LOG]: "un:rose" 
[LOG]: "un:18" 
[LOG]: "jack" 
[LOG]: 28 
[LOG]: "Jack" 
[LOG]: 28 

2、条件控制之if-else

1、if-esle基本用法
2、if(num){

}else{}
num 可以直接作为判断条件判断是否有数据,空字符串、数字0、null、undefined都被认为是false,其他值为true

let num : number = 25

// 判断是否为奇偶
//两个“=”会比较类型,三个“=”不会,节省内存空间
if(num%2===0){
console.log(num+"为偶数")
}else{
console.log(num+"为奇数")
}

if(num){
    console.log("非0即为true",num+"为true")
}else{}

let num1:string = " "
if(num1){
    console.log("空字符串为false",num1+"为false")
}else{}

let data :any
//变量做判断条件直接判断数据有无
if (data){
    console.log("数据不存在!")
}else{
    console.log("数据存在!")
}

运行结果

[LOG]: "非0即为true",  "25为true" 
[LOG]: "空字符串为false",  " 为false" 
[LOG]: "数据存在" 
[LOG]: "25为正数" 

3、条件控制之switch

格式如下,需要break

let grade : string = "A"
switch(grade){
    case "A":{
        console.log("优秀")
        break
    }
    case "B":{
        console.log("合格")
        break
    }
    case "C":{
        console.log("不合格")
        break
    }
    default:{
        console.log("非法输入")
        break
    }


}

运行结果

[LOG]: "优秀" 

4、循环迭代

1.1、for循环

//普通for
let num :number = 0
for(let i = 1;i<=10;i++){
num++
}
console.log("循环"+num+"次")

运行结果

[LOG]: "循环10次" 

1.2 改进for循环

//定义数组
let names :string[] = ["Jack","Rose"]
// for in 迭代器,遍历得到数组脚标
for (const i in names){
    console.log(i+":"+names[i])
}
// for of 迭代器,直接得到元素
for(const name of names){
    console.log(name)
}

运行结果

[LOG]: "0:Jack" 
[LOG]: "1:Rose" 
[LOG]: "Jack" 
[LOG]: "Rose" 

2、while循环

let i :number = 1
let num :number=0
while (i<=10){
    num++
    i++
}
console.log("循环了"+num+"次")

运行结果

[LOG]: "循环了10次"

5、函数 (声明、参数、函数体、调用函数)

5.1 无返回值函数,返回值void可以省略

//无返回值函数,返回值void可以省略 
function sayHello(name:string):void{
    console.log('你好,'+name+"!")
}
sayHello("Jack")

运行结果

[LOG]: "你好,Jack!" 

5.2、有返回值函数

// 有返回值函数
function sum(x:number,y:number ):number {
    return x+y
}
let a = sum(2,3)
console.log(a)

运行结果

[LOG]: 5 

5.3、箭头函数(简化函数声明)


// 箭头函数(简化函数声明)
let sayHi = (name:string) =>{
    console.log("你好,"+name+'!')
}
sayHi("Jack")

运行结果

[LOG]: "你好,Jack!" 

5.4、可选参数

function sayHello(name?:string){
    // 判断name是否有值,如果无值则给默认
    name = name?name:'陌生人'
    
    console.log('你好'+name+'!')
}
// 有值调用
sayHello('Jack')
//无值调用
sayHello()

运行结果

[LOG]: "你好Jack!" 
[LOG]: "你好陌生人!" 

5.5、参数默认值

//参数默认值在参数后面赋值,表示参数默认值
//如果调用者没有传参,则使用默认值
function seyHello(name:string = '陌生人'){
       console.log('你好'+name+'!')
}
seyHello('Jack')
seyHello()

运行结果

[LOG]: "你好Jack!" 
[LOG]: "你好陌生人!" 

6、面向对象编程的基本语法

TypeScript具备面向对象编程的基本语法,如interface、class、enum等。也具备封装、继承、多态等面向对象的基本特征。

封面图
在这里插入图片描述


http://www.kler.cn/a/156768.html

相关文章:

  • 《TCP/IP网络编程》学习笔记 | Chapter 8:域名及网络地址
  • 深入解析 OpenHarmony 构建系统-4-OHOSLoader类
  • JavaScript高级程序设计基础(四)
  • 【AI大模型】ELMo模型介绍:深度理解语言模型的嵌入艺术
  • LeetCode【0036】有效的数独
  • 【Mode Management】AUTOSAR架构下唤醒源检测函数EcuM_CheckWakeup详解
  • LightDB to_char 三入参函数支持
  • 吉祥物虚拟人IP:如何持续为品牌年轻化营销赋能
  • 面试篇:算法(二:二叉树)
  • 信而泰IPSec测试方法
  • 【SpringCloud】Gateway 配置全局过滤器获取请求参数和响应值
  • vs查找与替换功能【在文件中查找】不显示任何结果
  • 【objectarx.net】加载线型文件
  • golang 解决ZWNBSP 空字符问题
  • 【Docker】Swarm的ingress网络
  • 绿色建筑革新,气膜球馆成为城市锻炼新热点
  • Python 流程控制
  • HTML5+CSS3+Vue小实例:浪漫的心形文字动画特效
  • FFmpeg在Centos服务器上离线安装(包含所需依赖)并实现拉取rtsp流与推送至rtmp服务器
  • c++学习第四讲---函数提高
  • 跟着Nature Communications学习Hisat-Trinity-PASA等分析流程
  • 在windows上使用多个版本的chrome(谷歌)浏览器
  • java语言中受检异常和非受检异常的区别是什么?
  • 免费百度SEO优化工具,百度SEO优化排名工具
  • 网络运维与网络安全 学习笔记2023.11.30
  • 基于Python Flask 的全流程全栈项目自己的实战心得