ES6 扩展

一、let,const, var的区别

  1. var 声明的变量可以进行变量提升, let const声明的变量不能变量提升,因为在代码块内用let或者cont声明变量 当前代码块会形成一个暂时性的死区
  2. let声明的变量和var一样可以不给值 并且可以重新赋值
  3. const声明的变量必须给值 而且不能重新赋值,所以用来定义常量

二、解构赋值

  • . . ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
 var arr = [1, 2, 3] 
 let [a, b, c] = arr
 a = 1、 b = 2、 c  = 3

三、es6中keys的作用

  1. 传入对象,返回的是属性名
var obj = { 'a': 123, "b": 456 };
console.log(Object.keys(obj)) //["a","b"]
var obj1 = { 100: "a", 2: "b", 23: "c" };
console.log(Object.keys(obj1)) //["2", "23", "100"]
var obj2 = Object.create({}, {
   GETfOO: {
       value: function() {
           return this.foo
       }
   }
});
obj2.foo = 3;
console.log(Object.keys(obj2))
  1. 传入字符串,返回索引
var str = 'asfdw4tergdfv';
console.log(Object.keys(str))
//["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
  1. 输入构造函数,返回的是空数组或则属性名
function Pasta(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
  this.toString = function() {
      return (this.name + ", " + this.age + ", " + this.gender);
  }
}
console.log(Object.keys(Pasta)) //[]
var newPasta = new Pasta("lilei", 20, "male");
console.log(Object.keys(newPasta)) //["name", "age", "gender", "toString"]
  1. 传入的数组,返回的索引
var arr = [1, 24, 45, 67];
console.log(Object.keys(arr)) //["0", "1", "2", "3"]

四、set和map:即数组和对象的升级版本

 set:数组的升级版本
 
   add:添加唯一值
   delete:删除某一个值
   clear:删除所有
   forEach:遍历set对象
   注:可以用set来实现数组去重,
   var arr=[3, 4, 5, 5, 2, 2, 4, 6, 562, 2]
   例如:[...new Set(arr)]
 
 map:对象的升级版本
 
  let m1=new Map() 创建map对象
  m1.set(key,value)设置key的值
  m1.get(key)获取key对应的值
  m1.keys()获取key所组成的对象
  m1.values()获取value组成的对象
  m1.entries()获取key,values组成的对象
  m1.forEach()遍历map对象

五、什么是模块化?导入和导出的方法是什么?

  • 模块化开发指的是在解决某一个复杂问题或者一系列问题时,依照一种分类的思维把问题进行系统性的分解。
  • 模块化是一种将复杂系统分解为代码结构更合理,可维护性更高的可管理的模块方式。对于软件行业:系统被分解为一组高内聚,低耦合的模块。
1、导入方法
export default {}
2、导出方法
import {key} from ‘模块文件所在的地址’

六、for…in和for…of的区别

  • 推荐在循环对象属性的时候,使用 for…in,在遍历数组的时候的时候使用for…of。
  • for…in 循环出的是 key,for…of 循环出的是 value
  • 注意,for…of 是 ES6 新引入的特性。修复了 ES5 引入的 for…in 的不足
  • for…of 不能循环普通的对象,需要通过和 Object.keys()搭配使用

_ 暂时先列举这六种,后续有时间还会补充,感谢观看,点个关注一起进步_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值