ES6

1.var 、let 、const区别

  • var无论哪里定义,都会污染全局的作用域
var a=123;
{
   var a=456;
}
console.log(a) //输出456
  • let定义变量,作用在块作用域,不会污染到其他作用域,不能重复定义,不存在变量提升
var a=123;
//let a=123;
{
    let a=456;
}
console.log(a) //输出123
  • const定义常量,作用块作用域,一旦声明就无法再改变或者重新声明,不存在变量提升
var b=100;
{
    const b=200;
    console.log(b); //输出200
    var b=300; //报错,已经声明过无法重新声明
}
console.log(b) //输出100

2.解构赋值

  • 数组的解构赋值

注意:每个坑位对呀一个坑

let [a,b,c]=[10,20,30];
console.log(a,b,c) //10,20,30
  • 对象的解构赋值
let {a,b}={a:'10',b:'20'};
console.log(a,b); //10 20
  • 字符串的解构赋值
let [a,b,c,d]='12gf';
console.log(a,b,c,d); //1 2 g f

3.扩展运算符和rest运算符

  • 对象运算符(声明了方法不确定个数的时候)
function fun(...arg){
	console.log(arg[0],arg[1],arg[2],arg[3]); // 11 22 33 undefined
}
fun(11,22,33); 

//后面插入不影响之前的数组
let arr1=[1,2,3];
let arr2=[...arr1];
arr2.push(55);
console.log(arr1,arr2);  // [1,2,3]  [1,2,3,55]
  • rest运算符

确定了第一个数。不知道后面的数

function jspng(first,...arg){
	for(let i of arg){ //for(let i=0;i<arg.lenght;i++)
		console.log(i);	//输出:2 5 3 8 10
	}
}
jspng(1,2,5,3,8,10);  

4.字符串模板

  • 字符串连接符
// 字符串拼接
let d='学校';
let e=`${d}2019`;  //let e=2019
console.log(e);  //console.log(`${d+e}`)  输出:学校2019
  • 判断字符串里是否有该字符串

includes里面,startsWith开头,结尾endsWith

let ff="学习";
let dd="我在房间里认真的学习这前端";
console.log(dd.includes(ff));  //true
  • 复制字符串
console.log('学习'.repeat(20)); //20个‘学习’

5.数值的扩展

https://blog.csdn.net/qq_29116547/article/details/102537864

6.数组的扩展

https://blog.csdn.net/qq_29116547/article/details/102538822

7.严谨模式use strict

function fun1(a,b=3){ //严谨模式赋值会报错
 	'use strict'
 	return a+b;
 }
 console.log(fun1.length)

8.函数和数组

  • 箭头函数
//第一种,只有一行:
var add1=(a,b=2)=>a+b;

console.log(add1(1)); //3

//第二种,有多行:
var add2=(a,b=2)=>{
	console.log('json') //json
	return a+b
}
console.log(add2(1)); //3
  • 对象的函数解构
let json={
	a:'java',
	b:'技术',
	c:'php'
}
function Arr({a,b,c}){
	console.log(a,b,c) //java 技术 php
}
Arr(json);
  • 数组的函数解构
let arr=['json','学习','web'];
function kii(a,b,c){
 	console.log(a,b,c) //json 学习 web
 }
kii(...arr);
  • in的用法
//in的用法,对象和数组判断有无
let obj={
	a:'jsp',
	b:'web'
}
console.log('a' in obj) //true
  •  遍历数组
//数组遍历forEach
let arr=['jonp','java','php'];
arr.forEach((val,index)=>console.log(val,index)); //jonp 0  java 1  php 2

//数组遍历filter
arr.filter(i=>console.log(i)); //jonp java php

//数组遍历some
arr.some(x=>console.log(x)); jonp java php

//数组遍历map(替换)
console.log(arr.map(e=>'web')); // ["web", "web", "web"]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值