
ES6
friend_ship
这个作者很懒,什么都没留下…
展开
-
转换的艺术:如何在JavaScript中序列化Set为Array、Object及逆向操作
Set概念:存储唯一值的集合,元素只能是值,没有键与之对应。Set中的每个值都是唯一的。特性:值的集合,值可以是任何类型。值的唯一性,每个值只能出现一次。保持了插入顺序。不支持通过索引来访问元素。时间复杂度:查找、插入、删除操作通常是O(1)。原创 2024-11-28 22:10:32 · 771 阅读 · 0 评论 -
扩展运算符与reduce的特点及常用使用场景
扩展运算符通常用于传递数组作为函数的参数;复制数组或对象,合并数组或对象。reduce()方法通常用于需要数组元素累积的结果;需要执行更复杂的场景来转换数组到另一个形式,如对象或字符串。原创 2024-11-28 15:06:53 · 228 阅读 · 0 评论 -
对JavaScript对象解构的理解
ECMAScript6新增了对象解构语法,可以在一条语句中使用嵌套数据实现一个或多个赋值操作。简单地说,对象解构就是使用与对象匹配的结构来实现对象属性赋值。原创 2022-12-25 13:41:49 · 217 阅读 · 0 评论 -
TypeScript简介及语言特性
简介TypeScript对我们来说可能有点儿陌生,我们可以先简单的介绍下JS,它是一种具有函数优先的轻量级,解释型或即时编译型的编程语言,是数据类型可以被忽略的语言,一个变量可以赋不同类型的值,俗称弱类型语言。TypeScript是一种强类型语言。// JavaScript的demo案例var a = "abc";a = 123;console.log(`a: ${a}`); // a: 123TypeScript的语言特性与现存的JavaScript代码有非常高的兼容性。TypeScri原创 2022-05-31 09:48:32 · 1123 阅读 · 0 评论 -
根据某一个字段值,返回数组中部分有效数据
场景:当数组数据中status状态类型较多时,只需要其中某几个状态,需要通过状态值返回仅需要的数据时。如:status:状态值为2,4,6是需要进行展示的示例代码如下:const showData = [2,4,6]; // 状态值需要进行展示/*** res 为返回的原始数据* showData.includes(item.status) 返回需要进行展示数据;如被过滤掉的数据较少时,可以采用取反操作*/const modalData = res.filter(item =>原创 2021-08-07 15:02:59 · 605 阅读 · 0 评论 -
字符串json对象转换为字符串,并以分号;隔开
通常情况下,我们拿到的字符串数据为json格式时,需要按要求进行转换,示例代码如下:const obj = "{\"firstStr\":\"我是第一个字符串\",\"secondStr\":\"我是第二个字符串\"}"Object.values(JSON.parse(obj) || '{}').join(";")// "我是第一个字符串;我是第二个字符串"具体执行过程:...原创 2021-08-07 14:40:54 · 1666 阅读 · 1 评论 -
数字字符串转换为数字数组
示例代码如下:const num = "2,3,4";const numArr = num ? num.split(',').map(t=> +t) : []当num为""时('').split(',').map(t=> +t); // [0]**当num为数字字符串时,一定要判断是否为空原创 2021-08-07 14:51:55 · 769 阅读 · 0 评论 -
浅谈JavaScript函数中this的指向
1.setTimeout 中的thislet timeout = setTimeout(function(){ console.log(this); // window对象})let timeout = setTimeout(() => { console.log(this); // window对象})2.普通函数中的thisfunction Demo() { console.log(this) // window对象}Demo()//原创 2021-04-12 18:11:43 · 170 阅读 · 0 评论 -
ES6新特性 async/await的异步处理经典案例:红绿灯效果
对async/await的理解:async/await的运行时基础是Promise,async函数必定返回Promise,我们把所有返回Promise的函数都可以认为是异步函数。async函数是一种特殊语法,特征是function函数之前加上async关键字,这就定义了一个async函数,我们可以在其中使用await来等待一个Promise返回结果。下面是一个红绿灯效果为例的代码,要求圆形div按照绿色3秒,黄色1秒,红色2秒循环改变背景色<!DOCTYPE html><原创 2021-03-11 15:57:22 · 746 阅读 · 0 评论 -
浅谈 js设计模式—— 适配器模式
定义:提供一个不同的接口,充当中间转换功能。作用:解决两个对象间的接口不兼容的问题。使用适配器模式后,原本由于接口不兼容不能工作的两个对象可以一起工作。生活的例子:iPhone7之后的耳机接口从3.5mm圆孔接口更改成为了苹果专属的接口。那么以前的圆孔耳机就需要一个转换器(适配器),才能在新买的iPhone上听歌儿。前端开发框架 vue computed属性,ES6类提供一个新的满足需求的方法,都是是适配器模式的实现场景。vue computed 属性,适配器模式实现方式:<!D原创 2021-01-15 11:24:12 · 322 阅读 · 0 评论 -
字符串与数组之间的互换
数组转变为字符串拼接,如下:let arr = ['aaa','bbb'];let str = ' ';if(typeof(arr) === 'object') { str = arr.join('/')}字符串转变为数组,如下:let str = 'aaa,bbb';let arr = [];arr = str.split(',')原创 2020-08-28 11:32:38 · 881 阅读 · 0 评论 -
两个值比较的不同方法
ES5比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)ES6新增同值相等算法,Object.js()eg:Object.is('aaa', 'aaa') // true Object.is({},{}) // false+0 === -0 // true Object.is(-0,0) // falseNaN === NaN // false Object.is(NaN, NaN) // true...原创 2020-08-11 17:06:40 · 385 阅读 · 0 评论 -
includes与indexOf的不同之处
ES6新增了数组实例的includes(),没有该方法之前,通常使用数组的indexOf方法,检查是否包含某个值。1.返回值类型indexOf返回数值型,includes返回布尔类型[1,2,3].indexOf(2) // 1[1,2,3].includes(2) // true2.对NaN类型的判断[NaN].indexOf(NaN) // -1[NaN].includes(NaN) // trueindexOf造成对NaN的误判的原因:内部使用严格相等运算符(===..原创 2020-07-27 18:01:06 · 398 阅读 · 0 评论 -
ES6 变量的解构赋值 null和undefined为例
var [x= 1] = [undefined];x // 1var [x =1] = [null];x = null上面代码的解释说明:ES6内部使用严格相等运算符(===),判断一个位置是否有值。所以如果一个数组成员不严格等于undefined,默认值是不会生效的。null===undefined // falseundefined === undefined // true...原创 2020-06-02 18:12:42 · 5273 阅读 · 0 评论