Day10_ES6基础 nodejs

nodejs

一、ES6基础

ES6 ECMAScript2015

1.块级作用域

  • let const

声明的变量不存在变量提升,同一个作用域下不允许重复申明同一个变量,let在全局作用域的变量也不是全局变量。

{ 代码块 }
在括号之间语句就是块级作用域,例如:if for while swich
块级作用域下let和const声明的变量或者常量都 是局部的,外部无法访问

练习:

计算1~100之间所有整数的和,使用let声明变量

for (let i=0,sum=0;i<=100;i++){
	sum+=i;
}
console.log(sum);//不能访问

2.参数增强

可以给形参设置默认值

function add(a,b=0,c=0){//形参设置默认值
	a=a|| 0;//短路逻辑
	b=b|| 0;//用if也可以,如果三个参数都没传也可以运行
	console.log(a+b+c);
}
add(8000,5000,1000);
add(8000,5000);//员工没有其它工资如:出差补助等
add(8000);//员工只有基本工资
add(0);//员工只有基本工资

3.箭头函数

简化了匿名函数,但不等价于匿名函数
sort((a,b)=>{return a-b;})
如果箭头函数的函数体中只有一行并且是return形式,可以进一步简化
sort((a,b)=>a-b)

//箭头函数
var arr=[23,5,9,43,57];
arr.sort(function(a,b){
	return a-b; 
	});
	console.log(arr);

arr.sort((a,b)=>{return a-b; });//箭头函数

arr.sort((a,b)=>a-b);//只有一行,且是return的,可以这么简化版

console.log(arr);

练习

使用函数表达式创建函数,使用箭头函数形式,返回任意两个数字的最大值

let getMax=(a,b)=>{return a>b ? a : b;}
let getMax=(a,b)=>a>b ? a : b;
console.log(getMax(3,2));

4.模板字符串

` `一对反引号就是模板
\` 中间就是模板字符串¥{表达式}\`
模板字符串用于控制字符串格式,解决了字符串的拼接问题

let ename='葫芦';
let sex=0;
let phone='18111111111';
let addr='重庆市高新区巴福';
console.log(`
姓名:${ename}
性别:${sex==0 ? '男' :'女'}
电话:${phone}
`)

练习

假设从后端获取 了一条商品的数据,格式为对象,包含的属性有编号、标题、价格、是否在售(1/0)、打印出以下效果:
编号:
标题:
价格:
是否在售:是

var laptop={
	id:2,
	title:'小米笔记本',
	price:3999,
	isOline:'1'
}
console.log(`
编号:${laptop.id}
标题:${laptop.title}
价格:${laptop.price.toFixed(2) }元
是否在售:${laptop.isOline==0 ? '不':'是'}
`)

Day10_ES6基础 nodejs

二、

上一篇:Android中ViewPager+Fragment的销毁机制


下一篇:Day10-Java基础语言-基本运算符