一,箭头函数,模板字符串

模板字符串

`模板字符串${变量}`

函数

 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)学习笔记相关推荐

  1. 【前端】JavaScript(包括ES6)学习笔记(重要)

    本人收藏来自互联网的JavaScript笔记,仅供学习自用(⊙o⊙)哦! js之重点难点 https://www.cnblogs.com/xiaohuochai/p/5613593.html fals ...

  2. es6深入浅出学习笔记

    前言 es6不兼容问题(在低版本浏览器里面怎么用) ES6较之于ES6之前的修改 变量 函数 数组 字符串 面向对象 es6面向对象的使用: <!DOCTYPE html> <htm ...

  3. ECMAScript6学习笔记 ——let、const、变量解构赋值

    let 不存在变量提升 通过let声明的变量仅在块级作用域内有效 不允许在同一个作用域内重复声明一个变量 防止值公用 var oUl = document.querySelectorAll('ul&g ...

  4. ECMAscript 学习笔记(02)

    # 知识点整理(02) ## 1.小知识点 1. **使用typeof关键字获取null的类型 获取到的是 'object'** ​    <!--但是 其实他是一个 值类型的数据--> ...

  5. Vue学习笔记(三)Vue2三种slot插槽的概念与运用 | ES6 对象的解构赋值 | 基于Vue2使用axios发送请求实现GitHub案例 | 浏览器跨域问题与解决

    文章目录 一.参考资料 二.运行环境 三.Vue2插槽 3.1 默认插槽 3.2 具名插槽 3.3 作用域插槽 ES6解构赋值概念 & 作用域插槽的解构赋值 3.4 动态插槽名 四.GitHu ...

  6. [学习笔记] ES6的数组遍历方式 for, forEach,for...in, for...of

    javascript ES6有如果要遍历一个数组,我们有多个方式可以进行. 下面我们来分析一下各自的利弊. for循环 const langs = ['java', 'php', 'c++', 'py ...

  7. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  8. webpack:js、css、es6装载与压缩配置-学习笔记

    文章目录 webpack:js.css.es6装载与压缩配置-学习笔记 css文件打包 loader执行顺序 loader与plugin区别 less css抽取 js,css压缩处理 依赖包降级处理 ...

  9. Vue学习(增删改查、ES6模块化概念)-学习笔记

    文章目录 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 ES6模块化概念 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 <!DOCTYPE html> ...

  10. ES6基础5(Promise)-学习笔记

    文章目录 ES6基础5(Promise)-学习笔记 Promise 三个状态 状态转换 手写Promise源码 同步异步概念 jquery中 串行并行 async-await 微任务 宏任务 ES6基 ...

最新文章

  1. 官宣!清华大学要搬迁!
  2. Java高并发编程:多个线程之间共享数据的方式探讨
  3. linux怎么在win上安装mysql_CentOS下安装MySQL及Windows下使用Navicat for MySQL连接
  4. Mac,WIN下支撑 IPV6的 sftp客户端
  5. Java Generics示例教程 - 通用方法,类,接口
  6. css中设置微软雅黑时,在ie6css中有些样式会失效的解决办法
  7. 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
  8. 【maven】maven IDEA 设置 上传jar 包 distributionManagement
  9. 【机器学习-西瓜书】三、逻辑回归(LR);线性判别分析(LDA)
  10. 2.GET与POST的区别
  11. 使用ZLIB对datasetProvider.data数据包进行压缩传输的测试
  12. 【CS285 深度强化学习 】作业一之详解 [Deep Reinforcement Learning]
  13. 计算机同步不了计算机策略,修复sysvol netlog共享和组策略不同步组策略丢失等问题...
  14. OpenCV实现监控移动侦测
  15. 可视化html css布局,一个开源可视化布局项目,在线生成纯css布局,可阅读的代码...
  16. 基于SSM框架的志愿者管理系统
  17. 代码评审的价值和规范
  18. 数字化转型不是选择,是生存发展的必然。
  19. 钉钉发布会发了个“ / ”,还说这玩意能替我们上班?
  20. 合创视觉平面设计中基础色彩原则

热门文章

  1. python自动测试优惠券过期_python逻辑回归模型-使用优惠券预测
  2. 徐松亮的杂谈随笔(随时更新)
  3. 【云原生 | 05】Docker中容器的创建与启停
  4. 拆迁安置用房如何办理产权证
  5. wince 默认输入法_wince下中文输入法
  6. 独立同分布的中心极限定理
  7. 模式识别学习笔记——第2章—2.4 两类错误率、Neyman-Pearson决策与ROC曲线
  8. 百度地图API显示车辆运行轨迹并动画展示
  9. MDT/UML2/Getting Started with UML2及我自己的一些理解
  10. activiti工作流,审批系统轻松落地,请假审批demo从流程绘制到审批结束实例