ES6
谁是听故事的人
白日不到处,青春恰自来。苔花如米小,也学牡丹开。
展开
-
js中的深拷贝和浅拷贝总结
一、概念JavaScript中的数据分为基本类型和引用类型,一般基本类型的数据占用内存大小确定,保存于栈中;引用类型的数据由于在创建之初数据占用内存的大小不确定,但是保存数据的地址占用内存大小确定,因此引用类型的数据实体保存于堆中,按需分配,引用类型在堆中保存数据实体的起始地址保存于栈中。当解释器寻找引用类型的值时,会首先检索其在栈中的地址,取得地址后再从堆中获得数据实体。一般来说,浅拷贝...原创 2020-04-11 18:03:01 · 644 阅读 · 0 评论 -
几种遍历一个对象包含的可枚举属性的方法详解【下】(for...in、Object.keys()、JSON.stringify()、Object.assign()等)
前言对象的每个属性都有一个描述对象(Descriptor),用来控制该属性的行为。Object.getOwnPropertyDescriptor() 方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)let obj = { foo: 123 };Object.getOwnPropertyDescriptor(obj, 'fo...原创 2020-04-10 12:08:08 · 748 阅读 · 0 评论 -
几种遍历一个对象包含的所有属性的方法详解【上】(Object.getOwnPropertyNames(obj)、Reflect.ownKeys(obj))
前言对象的每个属性都有一个描述对象(Descriptor),用来控制该属性的行为。Object.getOwnPropertyDescriptor()方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)通过字面量方式创建一个对象obj,并获取其自有属性foo的属性描述符。代码如下所示:let obj = { foo: 123...原创 2020-04-09 19:26:45 · 1233 阅读 · 0 评论 -
ES6变量的解构赋值详解(数组、对象、字符串、数值和布尔值以及函数参数)
一、数组的解构赋值1、基本用法(1)ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这样。let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。...原创 2020-04-06 19:43:38 · 712 阅读 · 0 评论 -
ES6中变量声明的6种方式详解(var、function、let、const、import、class)
在ES5中变量声明的方式只有var和function两种方法,ES6中增加了四种不同的变量声明方式,分别为let、const、import以及class。一、用关键字var声明变量1、var声明的全局对象是顶级对象(window)的属性;2、用var在函数外声明的对象为全局变量,在函数内声明的对象为局部变量;3、用var可以对同一对象重复声明和赋值;4、用var声明的对象具有变量提升的作...原创 2020-03-31 15:18:23 · 1439 阅读 · 1 评论 -
ES6中箭头函数详解(箭头函数和普通函数的区别)
箭头函数是ES6提出来的一种标准,其表达式的语法比函数表达式(普通函数)更简洁,并且没有自己的this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。一、语法1、基础语法箭头函数有两种格式,一种只包含一个表达式(如x => x * x),连{ … }和return都省略掉了。还有一种可以包含多条语句,这时...原创 2020-03-31 10:12:33 · 908 阅读 · 0 评论 -
js中map的使用方法
map在js中的功能相当强大,故整理此文加深记忆。一、概念map()方法定义在JavaScript的Array中,它返回一个新的数组,新返回数组中的每个元素为原始数组的每一个元素分别调用map中的回调函数处理后的值。注意:map()不会对空数组进行检测 map()不会改变原始数组(返回新数组) map()不会为数组中缺少的元素调用回调函数 除数组对象外,map()可由具有...原创 2020-03-02 09:50:35 · 28831 阅读 · 2 评论 -
ES6笔记──工作中常用到的ES6语法
一、let和const在JavaScript中咱们以前主要用关键var来定义变量,ES6之后,新增了定义变量的两个关键字,分别是let和const。对于变量来说,在ES5中var定义的变量会提升到作用域中所有的函数与语句前面,而ES6中let定义的变量则不会,let声明的变量会在其相应的代码块中建立一个暂时性死区,直至变量被声明。let和const都能够声明块级作用域,用法和var是类似的,...原创 2020-03-11 14:15:26 · 191 阅读 · 0 评论 -
ES5中的构造函数与ES6中的类class
传统的javascript中只有对象,没有类的概念。它是基于原型的面向对象语言。原型对象特点就是将自身的属性共享给新对象。这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人困惑!如果要生成一个对象实例,需要先定义一个构造函数,然后通过new操作符来完成。构造函数示例://函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数)function...原创 2020-03-04 10:04:59 · 407 阅读 · 0 评论