typescript 对象数组和函数

typescript 对象数组和函数

对象

在JavaScript中,对象属于非原始类型。对象也是一种符合数组类型,由若干个对象属性构成。对象属性可以是任意数据类型,比如数组,函数或者对象等。当对象属性为函数的时候,称为方法。

对象字面量

数据属性
{
    PropertyName: PropertyValue
    // 属性名: 属性值
}

对象属性名可以是标识符,字符串字面量和数字字面量。对象属性值可以是任意值。

存取器属性

一个存取器属性由一个或者两个存取器方法构成。存取器方法分为get和set方法。

{
    get PropertyName() {
        return PropertyValue;
    }
    set PropertyName(value) {
     // code
    }
}
可计算属性名

可计算属性名是在定义对象字面量属性时使用的表达式作为属性名。可计算属性名适用于对象属性名需要动态计算的场景中。属性名表达式求值后将得到一个字符串或Symbol值,该字符串或Symbol值将被用作对象属性名

{
    [PropertyExpression]: PropertyValue,
    get [PropertyExpression]() {
        return PropertyValue;
    },
    set [PropertyExpression](value) {}
}

原型对象

每个对象都有一个原型,对象的原型是一个对象。即原型对象,可以是null值。原型对象又有原型对象,因此对象的原型对象会形成一条原型链。原型链会终止于null
在这里插入图片描述

数组

数组字面量

使用中括号将数组元素包括在内。数组元素使用逗号分隔const colors = ['pink', 'blue']

数组中的元素

数组中的元素可以是任意类型的值。数组元素可以通过数字索引进行访问。当数组过界或者使用了未知的索引时不会产生错误,而是会返回undefined值。
数组本质上是对象。数组元素相当于对象JavaScript数组的长度并不固定。

函数

JavaScript中的函数具有如下特征

函数可以赋值给变量或者对象属性
函数可以作为参数传递给另一个函数
函数可以作为函数返回值

函数声明

函数声明是最简单的函数定义方式。

function name(param0, param1, ...) {
    // body
}
  1. 必须以function关键字开始
  2. 必须指定一个函数名,函数名应该是合法的标识符
  3. 由一对小括号包围的可选参数列表,参数可以有零个或者多个
  4. 由一对大括号包围的函数体

函数表达式

除了函数声明外,还可以使用函数表达式来定义一个函数。函数表达式中的函数名是可选的。当没有指定函数名时,该函数也叫作匿名函数。

立即执行的函数表达式
;(function () {
    // function
})()
;(funciton(){
 // function 
}())
//;分组运算符。
  • 特点
    函数表达式和函数声明一样,都能产生新的作用域
    立即执行的函数表达式对外部作用域没有任何影响。
    
箭头函数

箭头函数没有this绑定,使用的是外部作用域的this绑定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/591699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Spring Boot的音乐网站与分享平台设计与实现

基于Spring Boot的音乐网站与分享平台设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统功能界面图,在系统首页可以查看首…

phpMyAdmin增加自定义IP登录教程

phpMyAdmin增加自定义IP登录教程 1、打开phpMyAdmin目录, 在此目录下是否有config.sample.inc.php文件,如果存在,那么将其改名为config.inc.php(为避免修改失误所造成的损失,强烈建议先备份config.sample.inc.php文件…

matlab期末知识

1.期末考什么? 1.1 matlab操作界面 (1)matlab主界面 (2)命令行窗口 (3)当前文件夹窗口 (4)工作区窗口 (5)命令历史记录窗口 1.2 matlab搜索…

U盘启动树莓派系统操作流程(3B+)

步骤 使用SD Card启动修改树莓派硬件启动方式 已烧写好的SD Card先 config.txt文件最后一行配置 program_usb_boot_mode1 program_usb_boot_timeout1 ## 超时时间加大到5s, 避免硬件USB枚举时过长导致启动超时。 SD Card接入树莓派, 然后上电, 使用指令 vcgencm…

「2024年」前端开发常用工具函数总结 TypeScript

前言 在前端开发中,工具函数是提高代码复用率、保持代码整洁和增加开发效率的关键。使用 TypeScript 编写工具函数不仅可以帮助开发者捕捉到更多的类型错误,还可以提供更清晰的代码注释和更智能的代码补全。下面是一些在 TypeScript 中常用的前端开发工…

搜好货API接口:快速获取商品列表的利器

搜好货商品列表API接口允许开发者根据关键字搜索并获取相关的商品列表数据。接口支持多种参数配置,可以根据需求灵活调整搜索条件和结果返回格式。 点击获取key和secret API接口请求说明 请求地址:https://api.souhaohuo.com/goods/search请求方法&…

Java——认识异常

目录 一.异常的概念与体系结构 1.异常的概念 1.1算术异常 1.2数组越界异常 1.3空指针异常 2.异常的体系结构 3.异常的分类 3.1编译时异常 3.2运行时异常 二.异常的处理 1.防御式编程 1.1LBYL 1.2EAFP(核心) 2.异常的抛出 3.异常的捕获 3…

主流Text2Image技术学习

DDPM原理 DDPM(Denoising Diffusion Probabilistic Models)是一种生成模型,它通过模拟数据的扩散过程来生成新的数据样本。 DDPM通过一个随时间增加噪声的扩散过程和一个逐步去除噪声的生成过程来模拟数据分布。其核心在于训练一个去噪声模…

Steam新人下载安装教程分享 迅游一键下载安装steam

Steam平台是Valve公司聘请的BitTorrent协议(BT下载)发明者Bram Cohen亲自开发设计。国内玩家对于Valve公司的游戏不会陌生,该公司发行的游戏有半条命系列、反恐精英系列、求生之路系列、传送门系列、军团要塞2、Dota2。Steam平台的客户端新增…

使用docker安装redis

使用docker安装redis ①拉取镜像 docker pull redis:6.2.6② 创建容器 docker run -d --name forum-redis --restartalways -p 6379:6379 redis:6.2.6 redis-server --requirepass "dong97"③链接测试 打开Redis Desktop Manager,输入host、port、pas…

开源版本管理系统的搭建一:SVN服务端安装

作者:私语茶馆 1.Windows搭建SVN版本管理系统 点评:SVN本身非常简洁易用,VisualSVN文档支撑非常好,客户端TortoiseSVN非常专业。5星好评。 1.1.SVN概要和组成 背景介绍 Svn是一个开源版本管理系统,由CollabNet公司…

Java Map集合(二)

1. HashMap原理 1.1 HashMap的容量 HashMap中使用数组作为存储元素的桶,对应的内部属性为table,如下图所示。HashMap的内部数组不是在创建HashMap对象时初始化,而是在首次存入元素时进行初始化,以减少对内存的占用。 从源码注释中…

【STM32+HAL】三轴按键PS2摇杆

一、准备工作: 有关CUBEMX的初始化配置,参见我的另一篇blog:【STM32HAL】CUBEMX初始化配置 有关定时器触发ADC模式配置,详见【STM32HAL】ADC采集波形实现 二、所用工具: 1、芯片: STM32F407VET6 2、CUBE…

小蓝本--因式分解(习题1)讲解

这几天要备战期中,下一期可能要等暑假了...... 小升初的压力真是紧扣于头啊,为了分到一个好班,拼了! 对了,下一期可能在寒假更,见谅! 1分解因式: 公因式: 答案&#xff…

发动机台架测试起动电源为发动机台架测试提供方便操作

发动机台架测试启动电源通常是指为发动机试验设备提供电力的装置,它可能包括交流电源、直流电源或专用的启动发电机。在进行发动机性能测试时,需要稳定的电力供应来驱动各种测试设备,如振动台、数据采集系统等。具体到电源类型常见的有市电、…

QT:label标签/进度条的使用

文章目录 设置不同格式的文本显示图片文本对齐/自动换行/缩进/边距LCDNumber倒计时 ProgressBar进度条 设置不同格式的文本 在文本格式中,存在富文本,makedown格式的文本,还有纯文本,下面就依据这三个进行举例 #include "w…

# 从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(1)

从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(1) 一、Hystrix:基于 RestTemplate 的熔断配置 1、Hystrix 介绍: 1)Hystrix 是由 Netflix 开源的一个延迟和容错库, 用于隔离访…

nginx--配置文件

组成 主配置文件:nginx.conf 子配置文件:include conf.d/*.conf 协议相关的配置文件:fastcgi uwsgi scgi等 mime.types:⽀持的mime类型,MIME(Multipurpose Internet Mail Extensions)多用途互联⽹网邮件扩展类型&…

渲染 函数

DOM树 什么是渲染函数 在多数情况下,Vue推荐使用模板template来创建HTML。 然而在一些应用场景中,需要使用JavaScript创建HTML。 这时可以用渲染函数,它比模板更方便。 render函数的主要神秘地方就是Vue的h函数。 h()函数 h()函数是一个用于…

学习Rust的第26天:Rust中的cp

在本文中复刻了 cp 实用程序的功能,我想默认使其递归,因为每次我想复制时都输入 -R 文件夹都会觉得有点重复,本文代码将与前文代码保持相似,我们只会更改程序的核心功能和一些变量名称以匹配用例 Pseudo Code 伪代码 function cop…