# ES6基础

2023-05-16

ES6基础

let和const

在以前的js中有一个问题,就是只存在函数作用域而不存在局部作用域。

let,const的出现改变了这个问题。const就是定义常量。

this指向

说默认this指向调用它的对象倒不如说函数this的指向是又他的调用方法决定的。
例如:

'use strict';
const person = {
    name: '',
    walk() {
        console.log(this);
    }
}

const walk = person.walk; // 绑定this
walk();

这里将会将会返回undefined(在严格模式下),如果不使用严格模式,那么这个this将指向window对象,在node中也就是global对象。而在严格模式下不允许this指向window对象。

对于匿名函数,他不会改变this的指向。

数组和对象的解构

使用...来对数组和对象进行析构操作。

const arr = [1, 2, 3]
const ob = {name: 'ob'}
const [a, b, c] = [...arr] // 数组析构
const {name} = {...ob} // 对象析构

如果想要对象中的某个属性进行重命名而不像使用原来的名字的化,可以这样做{name: newName = {...ob}。对象析构根据键复制,如果你不想要对应的某个属性的话,你可以忽略这个键名。

结构操作在很多时候都很有用,比如你想要连接几个数组的时候一般使用concat的方法,但是concat方法不想像使用析构的时候可以随意插入新值。

还有像要进行深拷贝的时候也不需要写自己的深拷贝方法了。

扩展运算符

例如像是这样子的函数函数

function test(...args) {
    //
}
function test1(a1, ...args) {
    //
}

对于test函数,传入的所有参数(不限个数)都将存储在args数组中。而对于test1函数,除传入的第1个参数以外都将会被装入args数组中。

函数

  1. Array.filter
    该函数接收一个回调函数,数组的每一项都将会被传入这个函数。当回调函数返回值为true时,此时被传入回调函数的一项值被装入一个新的数组。

    在数组的所有条目遍历完成以后,将这个新数组返回。

  2. Array.map

    对数组的每一项应用map中传入的回调函数,之后将经过处理的项装入一个新的数组并返回。

转载于:https://www.cnblogs.com/freesfu/p/11605133.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

# ES6基础 的相关文章

  • 详解JS原型与原型链

    目录 1 构造函数原型prototype 2 对象原型 proto 3 constructor构造函数 4 原型链 5 原型对象中的this指向 6 扩展内置对象 原型对象的应用 在ES6之前 我们面向对象是通过构造函数实现的 我们把对象的
  • 【ES6】Generator函数

    文章目录 一 声明Generator函数 二 调用 三 next 四 yield 五 return与yield区别 一 声明Generator函数 Generator函数 又称生成器函数 是ES6的一个重要的新特性 普通函数用functio
  • ES6知识点总结——学习网站及环境搭建

    1 ES6学习网站 ES6官网 https 262 ecma international org 6 0 阮一峰ES6学习电子书 https es6 ruanyifeng com docs let W3Cschool ES6中文教程 htt
  • APP内嵌h5页面在android低版本出现白屏问题(vue项目)

    前段时间在处理一个vue项目时 在vivo和华为的android5 0系统出现白屏 没有任何报错信息 之后特地买了两台真机进行测试 经过分段调试 一步步排查 最后发现是这段代码出错 到底什么问题 对比一下这段代码 很明显 参数默认值的问题
  • bug: TypeError: Invalid attempt to spread non-iterable instance

    报错信息 分析 此类报错多为扩展运算符报错 问题代码 解决方式
  • 2023最全最新前端面试题(附加解答)

    JS 1 说一下innerHTML 与 innerText的作用与区别 作用 都可以获取或者设置元素的内容 区别 innerHTML可以解析内容中的html标签 innerText不能解析内容中的html标签 2 JavaScript 由以
  • js获取数组中最大最小值及对应索引值(下标)

    1 使用原生Js实现该功能 主要是通过循环实现 getMaxMin data key gt if data return false let maxIndex 0 let minIndex 0 let maxNum data 0 key 0
  • ES6 新增的循环方法

    在 ES6 ECMAScript 2015 中 新增了一些循环方法 这些方法可以帮助我们更方便地遍历数组 字符串 Set Map 等数据结构 本文将介绍一些常用的 ES6 循环方法 for of 循环 for of 循环是一种遍历可迭代对象
  • ES6箭头函数(三)-应用场景

    直接作为事件handler document addEventListener click ev gt console log ev 作为数组排序回调 var arr 1 9 2 4 3 8 sort a b gt if a b gt 0
  • SyntaxError: Cannot use import statement outside a module

    SyntaxError Cannot use import statement outside a module 错误展示 问题 使用 vs code 调试js 代码 出现 SyntaxError Cannot use import sta
  • Vue 报错:Duplicate keys detected

    Vue 报错 Duplicate keys detected object Object This may cause an update error 在vue 组件中使用 v for 并且加了key 值 如果key 值不唯一 就会出现这样
  • ES6非空判断

    es6 Null传导运算符 const firstName message body user firstName default 运算符相当于一种短路机制 只要不满足条件 就不再往下执行 Null 判断运算符 属性的值为null unde
  • 二,ES6中新增const关键字的使用方法

    之前用var声明变量 变量想怎么改就怎么改 这里const关键字也是声明变量的 不过声明的是常量 常量就是固定的一个值 不能改变 例如 const name 唐僧 name 老沙 报错 因为它要更改常量name 只在块级作用于起作用 和le
  • JS ES6 单链表2种插入尾部方式

    一种是类里加一个指向尾部最后一个元素指针 通过他添加一个元素到队列最后 一种是每次增一个元素都从头开始遍历直到最后一个 然后添加 打开出来有单链表结构是一样的 除了上面的 多了一个队尾指针 class Node 单个结点 data next
  • Object.entries()方法使用详解

    一 概述 对象的数据处理方法 我们熟知的有很多 比如Object keys Object values for in等 本文将其与其它常见使用方法进行对比 详细解析其特性 二 对比 for in Object entries 方法的优势 1
  • ES6 Promise详解

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 多维数组变成一维数组

    这个问题来源于一个朋友曾经问过我的问题 当时是一个二维数组变成一维数组 后面我想整理一下 整理一个多维 并且是不定维的数组 一 二维数组变成一维数组 1 遍历数组 将元素一个个放入新数组 结果 如果元素不是数组 将会报错 下面是改良版 这样
  • 3分钟玩转:ES6 模块化

    ES6 模块 ES6 使用 export 和 import 导出和导入模块 导出模块 一个模块就是一个独立的 JS 文件 该文件内的变量外部无法获取 若希望能让外部获取模块内的变量 则要用 export 关键字暴露变量 分别暴露 命名行内导
  • VUE实践优化:轮询机制与代码结构升级

    前言 我们之前探讨过 对于包含处理状态的表格数据 我们可以通过轮询的方式进行处理 轮询更新进度条 JavaScript中的定时器和异步编程技巧 然而 当我们离开页面时 定时器仍会继续触发请求 这会造成资源的浪费 因为返回的数据并没有被渲染出
  • 前端基础:回顾es6相关知识

    Author note 题记 ECMAscript is international standard of javascript ECMA 是 js的国际标准版语言 let and const 为什么之前用var现在需要用let cons

随机推荐

  • depot_tools download CPID client for windows 设置代理

    Downloading CIPD client for windows amd64 from https chrome infra packages appspot com Failed to download the file check
  • linux查看glibc命令,centos怎么看glibc版本 Linux查看glibc版本方法

    日前Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞 xff0c 影响版本为Glibc 2 2到2 17 xff0c 包含2 2和2 17版本 如果您正在使用Linux服务器的话 xff0c 快看看你
  • 2范数和F范数的区别

    2范数和F范数是不同的 2范数表示矩阵或向量的最大奇异值 xff0c max svd X 而 F范数表示矩阵所有元素平方和的开方根 sqrt x i j X x i j 2 转载于 https www cnblogs com yinwei
  • Ubuntu ftp服务器搭建 + UltraEdit编辑FTP文件

    0 前言 xff1a xff08 请无视 xff09 最近在写一个Linux脚本 xff0c 在电脑装了Ubuntu的虚拟机来测试脚本效果 xff1b 可是用vim编辑脚本实在是太蛋疼 xff0c 于是就想到UltraEdit编写 xff0
  • Windows远程桌面多用户登录的问题

    RDP WRAPPER 同时登录 多用户补丁 解决系统更新导致无法多用户登录的问题 问题描述 xff1a 安装最新的Windows系统更新补丁后 xff0c 使用RDP Wrapper多用户补丁的共享主机不支持多用户登录 系统会提示登录远程
  • mac man汉化方法

    https www jianshu com p 615a0a46193a utm campaign 61 maleskine amp utm content 61 note amp utm medium 61 seo notes amp u
  • 常见开发语言擅长领域

    Python xff1a 机器学习 xff0c 数据科学还有Web开发 JavaScript xff1a Web开发 xff08 前端和后端 xff09 和游戏开发 Java xff1a 移动Android应用程序开发 xff0c 企业应用
  • 【Arch安装】

    Arch安装 不完整 xff0c 凭记忆补充 1 xff0c 制作安装介质 xff08 请跳转链接 xff1a https www archlinux org download xff09 2 xff0c 从UEFI模式启动后 xff0c
  • 关于 systemctl --user status 报错的问题

    关于 systemctl user enable mpd 报错 xff1a Failed to connect to bus No such file or directory 因为arch脚本中 xff0c systemctl 是 sud
  • RNA-Seq比对软件HISAT2的用法

    参考网址 xff1a http blog sciencenet cn blog 759995 990471 html 感谢原作者 转载于 https www cnblogs com lmt921108 p 7442839 html
  • curl: (1) Protocol 'http not supported or disabled in libcurl

    在windows中使用curl的时候 xff0c 命令为 curl 39 http localhost 9200 pretty 39 出现这个报错 curl 1 Protocol 39 http not supported or disab
  • Linux日志服务器配置

    配置日志服务器 环境 xff1a tibet xff1a 10 11 3 57 gaplinux xff08 日志服务器 xff09 xff1a 10 11 3 3 修改tibet上的 etc hosts xff0c 增加如下代码 xff1
  • Ubuntu16.04下配置ssh免密登录

    Ubuntu16 04下配置ssh免密登录 环境准备 xff1a 新建两台虚拟机 xff0c 而且两台虚拟机上都装有Ubuntu16 04的系统 xff0c 使两台虚拟机之间保持互通状态 分别为两台虚拟机命名为A B 假设我们要使A虚拟机免
  • linux slf4j找不到,SLF4J错误消息

    在本章中 xff0c 我们将讨论在使用SLF4J时获得的各种错误消息或警告以及这些消息的原因 含义 无法加载类 org slf4j impl StaticLoggerBinder 这是在类路径中没有提供SLF4J绑定时引起的警告 以下是完整
  • C#使用RabbitMQ

    1 说明 在企业应用系统领域 xff0c 会面对不同系统之间的通信 集成与整合 xff0c 尤其当面临异构系统时 xff0c 这种分布式的调用与通信变得越发重要 其次 xff0c 系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的
  • 安装rpm的mysql_linux下安装rpm格式的mysql

    1 下载安装包 官网下载 rpm格式安装包 xff0c 需要下面两个文件 xff1a MySQL server 5 0 26 0 i386 rpm MySQL client 5 0 26 0 i386 rpm 注 xff1a 官网下载时 x
  • 我的世界服务器怎么修改合成表,《我的世界》1.8原版自定义合成表教程 怎么自定义合成表...

    我的世界 1 8原版自定义合成方法 xff0c 很多玩家还不了解 xff0c 今天给大家带来玩家 真名 分享的 我的世界 1 8原版自定义合成表教程 xff0c 一起来看看吧 版本要求1 8 优点 xff1a 自定义 合成表数量可以很大 合
  • 题解 化学反应

    化学反应 Description 有 N 种不同的物质 xff0c 每种物质有两个属性 能量 和 活度 N 种中的任意两种物质都可以发生反应 xff1b 反应放热为两种物质的 能量 之差加一再乘上 活度 的较大值 换句话说 xff0c 设第
  • JAVA字符串中的转义字符

    一 在java字符串中如果出现斜杠 xff0c 1 当成转义字符 34 34 时 xff0c 后面必须接八进制数字进行ASCII转义输出成其它字符 xff0c 2 当成字符串字面值斜杠直接输出时 xff0c 必须用双斜杠 34 34 转义为
  • # ES6基础

    ES6基础 let和const 在以前的js中有一个问题 xff0c 就是只存在函数作用域而不存在局部作用域 let xff0c const的出现改变了这个问题 const就是定义常量 this指向 说默认this指向调用它的对象倒不如说函