当前位置: 首页 > news >正文

es6笔记干货

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

/***
 * es6
 * */
{
//let [foo, [[bar], baz]] = [1, [[2], 3]];

//console.log(foo)
}
//{
//let [x,,y]=[1,2,3];

//console.info(x);
//}
{
	let name ='shulong';

    let age= '23';

   // console.log(`${name}`,'名字')
}
{
	function add(...add){
		let sum = 0;

		for(let val of add){
			sum +=val;
		}
		return sum;
	}
	
//	console.log(add(2,5,3))
}
{
	//箭头函数es6箭头 => 代表大括号
	let f =() =>5;

	//console.log(f());

	let sum = (sum1,sum2='2')=>sum1+sum2;

	//console.log(sum(1,2));

	//箭头函数对应的是数据整合效果,可以添加复制
}
{
	const full = ({first,last})=>first+'last';

	//console.log(full());
}
{
	//sperad ... 参数的运算数组用逗号隔开

	function push(array,...items){

		array.push(items)
	}
	let number =[4,38];

	//console.log(...number);
}
{
	let birth='2014/10/11';

	let Person ={
		name:birth
	};
	
	//console.log(Person.name);
}
{
	function sayHello(name="world"){

	 //  console.log(`Hello ${name}`);

	
	}
	//sayHello();

	sayHello('wayou')
}
{
	function add(...x){

		return x.reduce((m,n)=>m+n);
	}
	//console.log(add(1,2,3)); 

	//console.log(add(1,2,3,4,5,6,7,8,9));
	
}
{
	let person =['wuhan','nanjing','hefen'];

	function say (a1,a2,a3){

	 // console.log(`hi ${a1},${a2},${a3}`);
	};
	
	//say(...person);
}
{
   let s = new Set();//添加不了重复的数字

   //console.log(s.add(1).add(2).add(3));//{1,2,3}

   let y = new Map();

  var e = y.set('hello',32);

  //console.info(e); //hello=>32

 // console.log(y.set(s));

}
{
	let s = new Set();//添加不了重复的数字
	let vm = new WeakMap();
	vm.set(s,{extra:42});
	let a =vm.size === undefined;
	//console.log(a);       
}
{
	//symblos;
	//console.log(Number.EPSILON);//对数

	console.log(Number.isInteger(Infinity));

	let acosh = Math.hypot(3,4);

	let hypot = Math.acosh(2);

	let imul = Math.imul(Math.pow(2,32)-1 , Math.pow(2,32)-2);

//	console.log('abcde'.contains('cd')); //true

	let as = 'abc'.repeat(3);

	Array.from(document.querySelectorAll('*'));

	Array.of(1,2,3);

	[0,0,0].fill(7,1);

	[1,2,3].findIndex(x =>x ==2); //1

    //['a','b','c'].values();

 //   Object.assign(Point,{origin:new Point(0,0)});

   let o =1;

   let k=2;

   let es5={
   	o:o,
   	k:k
   };
   let es6 = {
   	o,
   	k
   };
   console.log(es5);

   console.log(es6);

}
{
	let es5 ={
		hello:function(){

			console.log('hello')
		}
		
	};
	let es6 = {

		hello(){

			console.log('hello');
		}
	}
	console.log(es5.hello());

	console.log(es6.hello());
}
{
	let a = 'b';
	let es5 = {
		a:'c',
		b:'c'
	};
	let es6 = {
		[a]:'c'
	}
	
	console.log(es5,es6);
	
	
	
}
{
	// object 新增api
   // console.log('字符串',Object.is('abc','abc'),'abc'==='abc');

   // console.log('数组',Object.is([],[]),[]===[]);

   // console.log('拷贝',Object.assign({a:'a'},{b:'b'}));

    let test = {k:123,o:456};

    //拷贝数组键值对

    for(let [key,value] of Object.entries(test)){

    	//console.log([key,value]);
    }
    
}
{
	//symbol 概念 作用

	let Symbol1 =Symbol();

	let Symbol2 =Symbol();

	console.log(Symbol1===Symbol2);

	let a3 = Symbol.for('a3');

	let a4 = Symbol.for('a3');

	console.log(a3===a4);

	
}
{
	let a1= Symbol.for('abc');

	let obj={
		[a1]:'123',
		'abc':345,
		'c':456
	};
//	console.log(obj);
	for(let [key,value] of Object.entries(obj)){

		console.log('let ',key,value);

		//拿不到[a1]
		
	}
	//拿到Symbol
	Object.getOwnPropertySymbols(obj).forEach(function(item){

		console.log(obj[item]);
	});
	//拿到key value
	Reflect.ownKeys(obj).forEach(function(e){

		console.log('ownKeys',e,obj[e]);
	})
	
	
}
{
	let list = new Set();

	list.add(5);

	list.add(7);

	console.log(list.size);
}
{
	let arr =[1,2,3,4,5,'2'];
	let list2= new Set(arr);
	console.log(list2);
   let sta = ['add','delete','clear','has'];

   let list = new Set(sta);

  // console.log(list.has('add')); //true

  // console.log(list.delete('add'));

  // console.log(list);

  // console.log(list.clear());//清空

// console.log(list);

// for(let key of list.keys()){

// 	  console.log('keys',key);

// }
// for(let value of list.values()){

// 	 console.log('values',value);

// }
// for(let [key,value] of list.entries()){

// 	console.log('en',key,value)

// }
   
}
{
//	console.log("Number",Number.parseFloat === parseFloat);

//	const foo = 'bar';

//	const baz = {foo};

	//baz // {foo:'bar'}

//const baz ={foo:foo};

//	function f(x,y){

//	//	return {x,y};

//	}

//	function f(x,y){
//	//	return {x:x,y:y};
//	}
// 数据结构横向对比 增 查 改 删

 let map = new Map();
 
 let array = [];
 map.set('t',1);

 array.push({t:1});

 console.log('map-array',map,array);
 //查询
 let map_exist = map.has('t'); //true

 let array_exist = array.find(item=>item.t);

 console.log('map_exist',map_exist,array);
 // 改
 map.set('t',2);

 array.forEach(item=>item.t?item.t=2:'');

 console.log('map-array-modify',map,array);
 //删除

 map.delete('t');

 let index = array.findIndex(item=>item.t);

 array.splice(index,1);

 console.log('map',map,array);

//set array

 let set = new Set();

 let arr =[];
 //增
 set.add({name:"shulonghu"});

 arr.push({name:'shulonghu'});

 console.log('set-updet',set,arr);

 //查
  let set_ex = set.has({name:'shulonghu'});

  let arr_ex = arr.find(item=>item.name);

  console.log('set_ex',set_ex,arr_ex);

 //改
 set.forEach(item=>item.name?item.name=2:'');

 arr.forEach(item=>item.name?item.name=2:'');

 console.log('set-array',set_ex,arr_ex);
 //删
 set.forEach(item=>item.name?set.delete(item):'');

 let indee = arr.findIndex(item=>item.name);

 arr.splice(indee,1);

 console.log('/set-arr-empty',set,arr);
}
{
	//map set obj
	let item = {t:1}
	let map =new Map();
	let set =new Set();
	let Obj ={};

	//增
	map.set('t',1);
	set.add(item);
	set.add(item);
	map.set('t',1);
	Obj['t']=1;

    
    console.info('map-set-obj',Obj,map,set)
	//查
    console.info({
    	'map':map.has('t'),
    	'set':set.has('t'),
    	'Obj':'t' in Obj //查询
     });

    //改
    map.set('t',2);
    item.t=2;
    Obj['t']= 2;
    console.info('mso-modify',Obj,map,set);
    // 删
   map.delete('t');
   set.delete(item); //
   delete Obj['t'];
    console.info('mso-del',Obj,map,set);
}
//f(1,2);

转载于:https://my.oschina.net/u/3692906/blog/1563074

相关文章:

  • 小提琴图
  • gitlab-ci配置详解(一)
  • 解决firefox疯狂读硬盘的问题
  • 动态类型序列化
  • 【java】java学习之路-01-Linux基础(一)
  • NullAway:Android上的NullPointerExceptions的开源工具
  • ASP.NET MVC Model元数据(五)
  • Android 解决ListView 和 ScrollView 共存冲突的问题
  • [Web开发] Web 2.0 网站估价工具
  • c#中的反射机制
  • 利用QRmaker制作二维码
  • CentOS 6.8 部署django项目二
  • GHOST
  • 磁盘与文件系统管理之五
  • SQL Server 2008 存储结构之DCM、BCM
  • Docker容器管理
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • egg(89)--egg之redis的发布和订阅
  • Electron入门介绍
  • ES6系统学习----从Apollo Client看解构赋值
  • HTTP中的ETag在移动客户端的应用
  • Magento 1.x 中文订单打印乱码
  • redis学习笔记(三):列表、集合、有序集合
  • 阿里研究院入选中国企业智库系统影响力榜
  • 分布式熔断降级平台aegis
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 浏览器缓存机制分析
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​ArcGIS Pro 如何批量删除字段
  • ​Python 3 新特性:类型注解
  • ###项目技术发展史
  • #数学建模# 线性规划问题的Matlab求解
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • #预处理和函数的对比以及条件编译
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1)Android开发优化---------UI优化
  • (20050108)又读《平凡的世界》
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (编译到47%失败)to be deleted
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • ******之网络***——物理***
  • ****Linux下Mysql的安装和配置
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 受管制代码
  • .Net环境下的缓存技术介绍
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET企业级应用架构设计系列之技术选型
  • .net中我喜欢的两种验证码