es6 总结知识点
1. let 和 const
只在代码块中有效 {} js块级作用域。
const 定义的对象是可以改变其属性的
const a =[], b={} ;
a.push(1);
b.a=1;
// a [1] b {a:1}
块级作用域 let const 的特点
{
let a="outer_a",
b="outer_b";
if (true){
let a = "inside_a";
b = "inside_b";
}
console.log(a,b)//outer_a inside_b
}
2. 字符串扩展 includes() 代替 indexof();
let s = 'Hello world!';
s.includes('o') // true
3. 箭头函数
var a = (val)=> val;
var b = (a,b)=>{
if(a>b){ return a} }
4. 函数默认值 (必须在后面开始往前 中间不能穿插没有默认值的情况 )
参数默认值不是传值的,而是每次都重新计算默认值表达式的值。
(a,b=1,c) ❌
var fun = (a=1,b=2,c=a+b)=>{
console.log(a,b,c)
}
fun() //1 2 3
fun(2) //2,2,4
5.数组的扩展
5.1 扩展运算符 ... (该运算符主要用于函数调用)
将数组转为 逗号隔开的 序列。
...[1,2,3] //1,2,3 [...[1,2,3,4],..[5,6,7]] //[1,2,3,4,5,6,7]; [...[[12],3],[4]] // [ [1,2],3,4 ] [...[], 1] // [1]
//可以转化伪数组 [...arguments] Array.prototype.slice.call(arguments) //效果一样
//合并数组 a.concat(b) [...a,...b]
5.2 代替 apply 方法 的 参数
fun(null,array) es6写法 fun(...array)
5.3 解构赋值
const [first,...array] = [1,2,3]; console.log(first) //
console.log(array) //[2,3] const [first1,...array1] = [];
console.log(first1) // undefined
console.log(array1) //[] const [first2,...array2] = [1];
console.log(first1) //
console.log(array2) //[]
扩展符号 赋值只能在最后面一位(只能有一个并且在最后),否则报错 Uncaught SyntaxError: Rest element must be last element
//字符串操作
"hello".split("") // ["h","e","l","l","o"]
[..."hello"] // ["h","e","l","l","o"]
5.4 Array.from(); 将2种对象转为数组;
5.4.1: array-like-object: 不是数组,但是有 length 属性,且属性值为非负 Number 类型 ( arguments ,nodeList )
5.4.2: 可遍历对像
5.5 Array.of(); 将一组值转换为数组 总是返回参数组成的数组,,和Array()有一定差别。
Array(1) // [empty] Array.of(1) // [1]
i
6 对象的扩展
6.1 对象属性和方法的简写
var x=1;
var obj = {x} //{"x":1} var objFun = {
method:function(){return true;} ,
methods(){return true;}
}
7 Set和Map
Set:类似于数组,但是成员是唯一的。Set 本身是构造函数 用来生成 Set 数据结构。
const s = new Set([1,2,3,1,2,3]);
[...s] //[1,2,3] 对对象无效。 [...new Set(array)] //简单去重
Set内部判断相等用的是“===” (但是有一个点是 NaN Set认为相等) 所以 由于两个空对象 是不相等的。 Set 视为2个值
7.1 Set 的方法
var s = new Set([1,2]);
s.add({}) //返回set本身;
s.add({}) s.delete(1) //返回布尔值 是否成功 true
s.delete({}) //false s.has(2) //返回布尔值 是否包含 true
s.has({}) //false s.clear() //清除所有成员没有返回
7.2 Set遍历操作 keys(); values(); entries(); forEach()
7.3 WeakSet :成员只能是对象;不能遍历;
8. Map: 键值对集合,传统的键都只能是字符串; Map的键可以是对象
es6 总结知识点的更多相关文章
- ES6重点知识点总结(2)
ES6重点知识点总结(2) call和apply的作用是什么?区别是什么? call和apply的功能基本相同,都是实现继承或者转换对象指针的作用: 唯一不通的是前者参数是罗列出来的,后者是存到数组中 ...
- ES6面试 知识点汇总(全)
近期在复习ES6,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总.(全干货,适合对ES6有一定理解的同学复习,以及ES6面试.) 一.问:ES6是什么? 答: ES6是新一代的JS语言标准 ...
- ES6 常用知识点总结
ES6常用知识总结 之前总结了es5中js的一些知识点.这段时间看了石川blue老师讲解的es6课程,结合阮一峰老师的es6教程,随手做了一些笔记和总结分享给大家.内容还是es6主要的知识点,基本没有 ...
- ES6常用知识点小结
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准. 因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015(简称ES2015).虽然浏览器在不 ...
- ES6部分知识点总结
注:本文通过yck前端面试小册学习整理而得,记录下来供自己查阅 1.var 变量提升 使用var声明的变量,声明会被提升到作用域的顶部 举几个例子: eg1: console.log(a) // un ...
- ES6常用知识点
一.变量 var:定义的变量有时候会成为全局变量 let:定义的变量严格,只在代码块内有效 const:声明的变量是常量,不能被修改 二.数据类型 字符串 @定义:~字符串定义标记,支持换行. #常 ...
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript 易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...
- es6 module + webpack
其实在之前本人就看了 es6 里面的一部分内容,当然是阮一峰大神的 ECMAScript 6 入门. 最近闲来无事又来看下,其中 Module 的语法 这章时候,用里面代码跑的时候,理所当然的报错 S ...
随机推荐
- MySQL——合并查询结果
利用 UNION 关键字,可以给出多条 SELECT 语句,并将它们的结果组合成一个结果集.合并时,两个表对应的列数和数据类型必须相同.SELECT 语句之间使用 UNION 或 UNIO ...
- ABP拦截器之AuthorizationInterceptor
在整体介绍这个部分之前,如果对ABP中的权限控制还没有一个很明确的认知,请先阅读这篇文章,然后在读下面的内容. AuthorizationInterceptor看这个名字我们就知道这个拦截器拦截用户一 ...
- 使用react全家桶制作博客后台管理系统
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-r ...
- postgresql 基本使用及常见问题
基本使用参考 https://www.yiibai.com/postgresql/postgresql-insert.html 关于编码问题: 这是一个很复杂,但弄懂之后还是很迷的问题. postgr ...
- git学习03 - 撤销修改&删除文件
撤销修改:git checkout -- filename :将工作区文件回到最近一次add 或者 commit的状态 撤销修改分为三种情况: 1.未提交至暂存区 使用git checkout -- ...
- JavaScript速记
JavaScript常见知识点积累,包括数据类型.数值转换.对象.原型与原型链.作用域与闭包等等,持续整理更新,如有错误请指正,甚是感激 本文链接:JavaScript那些磨人的小妖精 作者:狐狸家的 ...
- Vue(小案例_vue+axios仿手机app)_购物车(计算商品总金额)
一.前言 1.计算总金额 2.点击删除按钮,删除对应的商品信息 3.当还没结算的时候,当用户跳到其他页面 ...
- 微信小程序 开发文档
官方开发文档: 小程序公众平台 小程序开发者指南 小程序开发者文档 学习资源: 微信:官方入门教程 微信:WeUI 是一套同微信原生视觉体验一致的基础样式库 微信:微信小程序示例 视频: 学堂在线:学 ...
- [Android] Android 支持下拉刷新、上拉加载更多 的 XRecyclerview
XRecyclerView一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView.使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊 ...
- Ext.Net的一例Ext Undefined解决办法
在运行的产品里发现了一例Ext Undefined报错.经过仔细排查原因是一个Ext.net按钮控件前端显示部分使用了<% if() <%> 动态控制输出Html脚本(有对应的后端 ...