ES6(ECMAScript6)学习笔记
一,箭头函数,模板字符串
模板字符串
`模板字符串${变量}`
函数
function fun(){ };//function fun用>=代替 参数只有一个可以省略小括号 语句只有一句可以省略大括号
箭头函数
()>={};// 箭头函数没有自己的this
value=>value*2;
二,Set数据结构
const s=new Set();s.add(2).add(5);//向Set结构添加元素s.delete(2);//删除s.has(2);//查找Set解构是否有这个值 返回布尔值s.clear();//清除Set里的值s.add(1);s.forEach(value => console.log(value));//遍历Set结构
三,剩余参数
1,剩余参数
利用剩余参数求和
function fun(...args){//剩余参数 args是一个数组let s=0;args.forEach(value=>{//利用箭头函数遍历数组s+=value;});console.log(s);}fun(1,2,3,5,8);//输出19fun(1,5);//输出6
四,扩展运算符
用扩展运算符合并数组
let arr=[1,2,3];let arr1=[4,5,6];console.log(...arr);//将数组拆分成以逗号分隔的数据 输出1 2 3 (console.log会将逗号转空格)let arr3=[...arr,...arr1];//扩展运算符应用 合并数组 //arr3=arr.push(...arr1); console.log(arr3);//[1,2,3,4,5,6];
五,对象解构
{
let person={name:'张三',age:20,sex:'男'}let {name,age,sex}=person;//对象解构 console.log(name);//输出张三console.log(age);//输出20console.log(sex);//输出男let {name:myname,age:myage}=person;//对象解构 变量的名字和对象属性名字相匹配 匹配成功将对象属性的值赋值给变量console.log(myname);//输出张三console.log(myage);//输出20}
六,数组解构
let arr=[1,2,3];let arr1=[4,5,6];let [a,b,c]=arr;//数组解构console.log(a);//输出1console.log(b);//输出2console.log(c);//输出3let [num,...py]=arr1;//剩余参数 配合 数组解构 使用console.log(num);//输出4console.log(py);//输出[5,6]
七,字符串
var str=' safd 'var str1=str.trim();//去除首尾两端的空格 返回一个字符串console.log(str1);//输出safdlet string1='Hello world!';string1.startsWith('Hello');//true 判断是否以什么开头 返回一个布尔值string1.endsWith(' ');//false 判断是否以什么结尾 返回一个布尔值let string2=string1.repeat(3);//将原字符串重复3次 返回一个新字符串console.log(string2); //输出Hello world!Hello world!Hello world!
八,数组
var arr=[21,5,4,55,1];var sum=0;let temp=arr.find(value=>value===55);//查找数组是否有满足条件的元素,找到了返回那个值 没找到返回undefinedconsole.log(temp);//输出55let index=arr.findIndex(value=> value>40);//查找第一个满足条件的元素 返回一个下标console.log(index);//输出3let flag1=arr.includes(21);//查找数组中包不包含 返回一个boolean值console.log(flag1);//输出truearr.forEach(function(value,index,arr){//遍历数组console.log(index+' '+value);sum+=value;});console.log(sum);//输出86var newarr=arr.filter(function( value,index,arr){//筛选数组,返回一个新数组return value>10;})console.log(newarr);//输出21,55var flag=arr.some(function(value,index,arr){//查找数组是否有满足条件的元素,返回一个boolean值return value<10;})console.log(flag);//输出true
Object.defineProperty
let person={name:'张三',sex:'男'
};
Object.defineProperty(person,age,{//给对象增加属性 参数对象名 属性名 值和值的属性 value:18,//值enumerable:true,//控制属性是否可以枚举,默认为falsewritable:true,//控制属性是否可以被修改,默认为falseconfigurable:true//控制属性是否可以被删除,默认为false//当有人读取person的age属性时,get函数就会被调用,且返回值就是age的值get(){console.log('有人读取age属性了');}//当有人修改person的age属性时,set函数就会被调用,且返回值就是age的值set(value){console.log('有人修改了age属性且值是'+value);}
})
ES6(ECMAScript6)学习笔记相关推荐
- 【前端】JavaScript(包括ES6)学习笔记(重要)
本人收藏来自互联网的JavaScript笔记,仅供学习自用(⊙o⊙)哦! js之重点难点 https://www.cnblogs.com/xiaohuochai/p/5613593.html fals ...
- es6深入浅出学习笔记
前言 es6不兼容问题(在低版本浏览器里面怎么用) ES6较之于ES6之前的修改 变量 函数 数组 字符串 面向对象 es6面向对象的使用: <!DOCTYPE html> <htm ...
- ECMAScript6学习笔记 ——let、const、变量解构赋值
let 不存在变量提升 通过let声明的变量仅在块级作用域内有效 不允许在同一个作用域内重复声明一个变量 防止值公用 var oUl = document.querySelectorAll('ul&g ...
- ECMAscript 学习笔记(02)
# 知识点整理(02) ## 1.小知识点 1. **使用typeof关键字获取null的类型 获取到的是 'object'** <!--但是 其实他是一个 值类型的数据--> ...
- Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决
文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...
- [学习笔记] ES6的数组遍历方式 for, forEach,for...in, for...of
javascript ES6有如果要遍历一个数组,我们有多个方式可以进行. 下面我们来分析一下各自的利弊. for循环 const langs = ['java', 'php', 'c++', 'py ...
- es6学习笔记-字符串的扩展_v1.0_byKL
es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...
- webpack:js、css、es6装载与压缩配置-学习笔记
文章目录 webpack:js.css.es6装载与压缩配置-学习笔记 css文件打包 loader执行顺序 loader与plugin区别 less css抽取 js,css压缩处理 依赖包降级处理 ...
- Vue学习(增删改查、ES6模块化概念)-学习笔记
文章目录 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 ES6模块化概念 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 <!DOCTYPE html> ...
- ES6基础5(Promise)-学习笔记
文章目录 ES6基础5(Promise)-学习笔记 Promise 三个状态 状态转换 手写Promise源码 同步异步概念 jquery中 串行并行 async-await 微任务 宏任务 ES6基 ...
最新文章
- 官宣!清华大学要搬迁!
- Java高并发编程:多个线程之间共享数据的方式探讨
- linux怎么在win上安装mysql_CentOS下安装MySQL及Windows下使用Navicat for MySQL连接
- Mac,WIN下支撑 IPV6的 sftp客户端
- Java Generics示例教程 - 通用方法,类,接口
- css中设置微软雅黑时,在ie6css中有些样式会失效的解决办法
- 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
- 【maven】maven IDEA 设置 上传jar 包 distributionManagement
- 【机器学习-西瓜书】三、逻辑回归(LR);线性判别分析(LDA)
- 2.GET与POST的区别
- 使用ZLIB对datasetProvider.data数据包进行压缩传输的测试
- 【CS285 深度强化学习 】作业一之详解 [Deep Reinforcement Learning]
- 计算机同步不了计算机策略,修复sysvol netlog共享和组策略不同步组策略丢失等问题...
- OpenCV实现监控移动侦测
- 可视化html css布局,一个开源可视化布局项目,在线生成纯css布局,可阅读的代码...
- 基于SSM框架的志愿者管理系统
- 代码评审的价值和规范
- 数字化转型不是选择,是生存发展的必然。
- 钉钉发布会发了个“ / ”,还说这玩意能替我们上班?
- 合创视觉平面设计中基础色彩原则
热门文章
- python自动测试优惠券过期_python逻辑回归模型-使用优惠券预测
- 徐松亮的杂谈随笔(随时更新)
- 【云原生 | 05】Docker中容器的创建与启停
- 拆迁安置用房如何办理产权证
- wince 默认输入法_wince下中文输入法
- 独立同分布的中心极限定理
- 模式识别学习笔记——第2章—2.4 两类错误率、Neyman-Pearson决策与ROC曲线
- 百度地图API显示车辆运行轨迹并动画展示
- MDT/UML2/Getting Started with UML2及我自己的一些理解
- activiti工作流,审批系统轻松落地,请假审批demo从流程绘制到审批结束实例