ECMA6新增的一些方法

目录
`` 字符串
${} 占位符的方式,进行字符串拼接
Array.from 将伪数组转成真正的数组
find() 查找符合条件第一个元素,查找条件是return后面的表达式
findIndex() 查找符合条件第一个元素,的下标
copyWithin 截取的一段覆盖另一段
Object.assign 浅拷贝
Symbol() 声明变量
set 声明集合
map 集合映射

`` ${}

括起来的叫做字符串。

和传统字符串的区别:
1、传统字符串没有办法换行
2、ECMA6可以通过占位符的方式,进行字符串拼接
${变量/表达式}

var str = "dadadadad
			adadadadad";
			alert(str);
var str = `dadadadad
			adadadadad`;
			alert(str);
			function showSelf({name, sex = '男', age}){
				alert("我叫" + name + ", 我是" + sex + "的,今年" + age + "岁");
			}
			showSelf({
				sex: "女",
				name: 'red',
				age: 40
			})
			function showSelf({name, sex = '男', age}){
				alert(`我叫${name},我是${sex},今年${age}岁,${10 + 20}`);
			}
			showSelf({
				sex: "女",
				name: 'red',
				age: 40
			})

Array.from

将伪数组转成真正的数组。

			window.onload = function(){
				var nodes = document.getElementsByTagName("div");
				// alert(nodes.length);
				// nodes.push("hello");

				nodes = Array.from(nodes);
				nodes.push("hello");
				alert(nodes);
			}

find()

查找符合条件第一个元素,查找条件是return后面的表达式
【注】只要找到符合条件的,循环就终止了

			var arr = [10, 20, 30, 40, 50];
			var res = arr.find(function(item){
				return item > 20;
			})
			alert(res);

findIndex()

				查找符合条件第一个元素,的下标
			var arr = [10, 20, 30, 40, 50];
			var res = arr.findIndex(function(item){
				return item > 20;
			})
			alert(res);

copyWithin(了解下就行)

第一个参数:开始截取的下标
第二个参数:开始替换的下标
第三个参数:终止替换的下标,不包含结束下标。

			var arr = [1,2,3,4,5,6,7,8,9,0]; 
   			arr.copyWithin(2,6,9); 
   			alert(arr);//1,2,7,8,9,6,7,8,9,0

Object.assign(浅拷贝)

合并对象
【注】将传入的对象合并,最后生成一个新对象。
浅拷贝:只拷贝最浅一层,具体的数组或者对象没有拷贝

			var obj1 = {
				a: 10
			}
			var obj2 = {
				b: 20,
				a: 30
			}
			var obj3 = {
				c: 40,
				d: [10, 20, 30, 40]
			}

			var obj = Object.assign(obj1, obj2, obj3);
			console.log(obj);
			obj3.d.push(100);
			console.log(obj);

ECMA6新增的一些方法_第1张图片

Symbol()(了解下)

是用来声明变量的,只和自己相等,和其他任何数据都不相等。
【注】是用来,形象化编程。

			var a = Symbol();
			var b = Symbol();
			var c = Symbol(100);
			var d = Symbol(100);
			var e = Symbol("hello");
			var f = Symbol("hello");
			var sapphire = Symbol();
			var Mateus = Symbol();
			var color = sapphire;
			switch(color){
				case sapphire:
					alert("宝石蓝");
					break;
				case Mateus:
					alert("蜜桃红");
					break;
			}

set

声明集合 参数部分可以传入数组
集合:
1、无序
2、不重复

			let imgs = new Set();
			imgs.add(10);
			imgs.add(10);
			imgs.add(15);
			imgs.add("15");
			imgs.add(new String("hello"));
			imgs.add(new String("hello"));
			console.log(imgs);

ECMA6新增的一些方法_第2张图片
遍历集合

			let imgs = new Set();
			imgs.add(10);
			imgs.add(10);
			imgs.add(15);
			imgs.add("15");
			imgs.add(new String("hello"));
			imgs.add(new String("hello"));
			console.log(imgs);
			var imgs = new Set([10, 10, "15", 15, "hello"]);
			//通过key遍历
			for(let item of imgs.keys()){
				console.log(item)
			}
			//通过value遍历
			for(let item of imgs.values()){
				console.log(item)
			}
			//通过key和value进行遍历  键和值
			for(let item of imgs.entries()){
				console.log(item)
			}
			var arr = [10, 20, 30, 40];
			for(let item of arr){
				console.log(item);
			}

map集合

映射

			var map = new Map();
			map.set("张三", "打铁的");
			map.set("李四", "卖猪的");
			map.set("王五", "卖豆腐");
			
			//通过键获取值
			// alert(map.get("王五"));
			
			//遍历映射
			for(let [key, value] of map){
				console.log(key, value);
			}

你可能感兴趣的:(biji)