es6模块引入导出功能是我们经常使用的,但是其使用方式也有好几种,下面总结下。
首先看下导出文件exportFile
再看引入物件importFile
总结:
export 导出的内容
1必须声明(有变量名,不能是匿名值)
2import时可以通过{}包裹引入对应名称的变量
3import as xxx 则xxx为一个Module对象,里面的属性为export出来的,export default出来的则通过xxxdefault获取
export default出来的内容
1可不声明(不能在export default后面声明)
2import xx from "path" 若文件中找不到xx变量则会指向export default导出的内容
Symbol类型是es6新增的一个数据类型,Es5的基本数据类型(undefined,null,Object,Number,String,boolean)或者说是(undefined,null,Number,String,Boolean,Function,Array)。
Symbol值通过Symbol函数生成
Symbol类型是保证每个属性的名字都是独一无二的,对于一个对象由对个模块构成的情况非常有用,其实说白了就是就是类似与特殊符号的一个类型,因为因为具有唯一性所以特殊,说到唯一性,就不得不说Set和Map了,这个两个东西其实算不上是两种数据类型,我觉得应该称为数据结构更贴切,但大家都这么叫,这里也就姑且认为是数据类型吧。Set和Map这两个东西本身是一个类,可以看作构造函数,可以使用new关键字来实例化生成实例对象,它们生成的实例对象有一个明显的特点,就是成员的唯一性,它们实例化出来的对象结构类似于一个数组,但是这个类数组结构中的每一个元素都是唯一的,不重复的,所以一些简单的去重 *** 作我们也可以使用它们,好了废话不多说,下面开始干货!
声明:
let set = new Set();//空集合
let set2 = new Set(['one','two']);//有内容的集合
由于集合的没有重复元素的特点,所以不管怎么声明,重复元素都会被剔除掉:
控制台打印一下Set的原型:
这里说一下常用的一些东西,我习惯叫一个属性四个方法(主要是因为好记):
一个属性:size(集合大小,类似与数组的length)asize; //3
四个方法:add(),delete(),has(),clear()
add():将元素添加至末位
add()方法因为自带返回值所以我们在使用的时候可以进行链式调用
let set= newSet(["one","two"]);
setadd("three")add("four");
consolelog(set); //["one","two","three","four"]
并且可以这样:consolelog(setadd("five")); //["one","two","three","four","five"]
delete(parameter):删除元素,parameter为你要删除的元素的值value
通过这个例子我们可以看出,delete()返回的结果是一个Boolean值,所以是不可以像add()那样链式调用的,否则就会报delete() is not a function
has():函数判断集合中有没有某个元素
let set = new Set(["one", "two"]);
consolelog(sethas("one")); //true
consolelog(sethas("three")); //false
clear():清空一个集合
这个方法是没有返回值的,只是单纯清空了这个集合
它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
声明:
Map的声明直接new Map()
这里Map常用的东西和Set差不多但还是有区别的,Map没有add方法,但是比Set多了set和get方法,删除和清空都和Set都是一样的delete和clear,判断是否有某个值也可以使用has方法,这些方法的参数为集合元素的键。
这里主要说一下get和set:
let json={ name:"websong",skili:"web"};
var msp=new Map();
mspset(json,'iam'); //这里是设置一个键值对,以json这个对象为键吗,"iam"这个字符串是json这个键的值
consolelog(msp);//Map(1) {{…} => "iam"}
mspset('niubi','111');//这里同样也是设置一个键值对,以字符串'niubi'为键,字符串'111'为它的值
consolelog(msp);//Map(2) {{…} => "iam", "niubi" => "111"}
总结下来,Set的实例化对象是一个类数组的结构,并且是一个元素具有唯一性的数组对象,而Map的实例化对象就是单纯的键值对集合,但是这个键值对可以使用对象或是其它东西来充当键,其实也可以将Map当作一个类数组对象,只是我们可以使用对象来定义数组元素的下标。
以上就是关于es6 import的几种情况总结全部的内容,包括:es6 import的几种情况总结、Es6中新的数据类型、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)