es2015(es6)学习总结

1.三种声明方式

  1. var:它是variable的简写,可以理解成变量的意思。
  2. let:它在英文中是“让”的意思,也可以理解为一种声明的意思。
  3. const:它在英文中也是常量的意思,在ES6也是用来声明常量的,常量你可以简单理解为不变的量。
var a=2;
{
   var a=3;
}
console.log(a);    //3

var a=2;
{
   let a=3;
}
console.log(a);    //2

 

2. 变量的解构赋值

简单的理解就是将等号右边数组或者对象 的元素拆开赋值给相应的变量

数组解构

let [a,b,c]=[1,2,3];

let [a,b="JS"]=['你好',undefined];
console.log(a+b);     //控制台显示“你好JS”

let [a,b="JS"]=['你好',null];
console.log(a+b);        // 你好null

 

数组作为参数传给函数

let arr = ['hello','world','你好'];
function fun(a,b,c){
    console.log(a,b,c);
}
 
fun(...arr);    //解构赋值

 

对象解构

数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

let {foo,bar} = {foo:'你好',bar:'JS'};
console.log(foo+bar);

let foo;
({foo} ={foo:'JS'});
console.log(foo);       //加圆括号,打印不报错

//字符串解构
const [a,b,c,d,e]="Hello";

 

3.字符串查找

之前用str.indexOf('hello') 来返回hello 在str 字符串中的索引位置,没有则返回-1,es6用 includes 判断返回布尔值

var str = 'hello ,this is my blog';
console.log(str.includes('my'));        //true

    
str.startsWith('hello');        //判断开头是否存在

str.endsWith('hello');        //判断结尾是否存在

 

4.json 数组格式转换

let  json = {
    '0': 'hello',
    '1': 'world',
    '2': '你好啊'
}

JSON.stringify(json)         // 数组转json字符串   {"0":"hello","1": "world","2": "你好啊"}


let jsonStr ='{"0":"hello","1": "world","2": "你好啊"}'
JSON.parse(jsonStr )            // json字符串转json 对象

es6 中有种特殊的json 格式,可以轻松的将json 对象转换成数组

let  json = {
    '0': 'hello',
    '1': 'world',
    '2': '你好啊',
    length:3
}
let arr=Array.from(json);        //用Array.from(json) 来转换
console.log(arr)            //['hello','world','你好啊']

  let arr =Array.of(3,4,5,6);  // 可以转换数字,字符串也是可以转换的
  console.log(arr);
 

 

5.Set数据结构

Set数据结构,注意这里不是数据类型,而是数据结构。它是ES6中新的东西,并且很有用处。Set的数据结构是以数组的形式构建的。

let setArr = new Set(['jspang','技术胖','web','jspang']);
console.log(setArr); //Set {"jspang", "技术胖", "web"}

//Set值的追加add
setArr.add('前端职场');


// 删除delete
setArr.delete('前端职场');

//查找has
console.log(setArr.has('jspang'));//true

//删除clear
setArr.clear();

set的循环

//for…of…循环
for (let item of setArr){
    console.log(item);
}

//size 属性
console.log(setArr.size);

//forEach循环
setArr.forEach((value)=>console.log(value));

 

posted @ 2017-11-22 15:57  ankle  阅读(371)  评论(0编辑  收藏  举报