ES6总结

  • 什么是ES6,ES6都干了什么

  • ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版

  • ES6 的出现主要是为了解决 ES5 的先天不足

  • ES6和ES5的区别   ES6都新增了什么  ES6都有哪些新的语法:

        1.多了很多语法糖

            什么是语法糖 就是一些很简便的写法  比如你的箭头函数 解构赋值 展开运算符  比如class类 

        2.let 和const

            这两个也是es6新增的变量修饰词 let声明的变量不会提升 不能重复声明 const声明一个常量 不能改变

        3.新增了很多的API

            API说白了就是别人提供好的方法 或者说具有一定功能的函数 我们可以去调用

            学完后端后 后端需要给前端提供API接口,那么这里的API接口 说白了 

            也是具有一定功能的请求地址 

            比如我后端写了一个增加用户的接口 那么前端调用这个接口把数据传过去 

            后端就可以把传过来的数据添加到数据里里面

    API接口就是 别人给你准备好的具有一定功能的方法或者地址

            主要是数值的 对象的 字符串的

  • ES6对字符串的拓展

  • let url="www.baidu.com"
  •         1.判断一个字符串是否以某个子串开头:.startWit 

  • console.log(url.startsWith("www"));

               2.判断一个字符串是否已某个子串结尾:.endsWith 

console.log(url.endsWith("com"));

             3.判断一个字符串是否包含某个子串:.includes

console.log(url.includes("baidu"));

            4.重复某个字符串:.repeat

console.log(url.repeat(10));

字符串拼接

 let name="百度"
let url="www.baidu.com"
    console.log(`${name}的网址是${url}`);

打印出来就是百度的网址是www.baidu.com

ES6对数值的拓展

新的整形字变量;

    let num=10;    //10表示十进制
    let num1=0x10  //表示十六进制  
    let num2=0b100 //0b开头表示二进制 
    let num3=0o17  //0o表示八进制

新的number方法

判断一个数字是否是NaN     isNaN

let a=1;
    let b=undefined;
    console.log(Number.isNaN(a));
    console.log(Number.isNaN(a+b));

判定一个数是否是无穷大    isFinite

console.log(Number.isFinite(-Infinity));

返回一个字符串中开头的数     parseFloat

console.log(parseFloat("100年以后"));

返回一个字符串中开头的整数    parseInt

console.log(parseInt("3.1415926是圆周率近似值"));

进制运算 

console.log(parseInt("84",9));
    // 返回9进制的84 转换成10进制的数
console.log(parseInt("66",7));
    // 返回7进制的66 转换成10进制的数

对函数的拓展

就是箭头函数

1.无参无返
    let f1 = () => {

    }
2.有参数 没有返回值的时候  这种你可以在()写多个参数
    let f2 = (item) => {
    } 
   这种只能有一个参数     
    let f3 = item => {
    }
3.有返回值 没有参数
    let f4 = () => 1;
    //如果 只有一个return  那么可以把{}和return 都省略


4.有参数也有返回值
    let f5 = item => item;
    // 这个意思是 有一个参数item 并且函数返回了item
    let f6 = (item, index) => item;
    let f7 = (item, index) => {
        console.log(index);
        return item;
    }

5.如果代码块只有一行代码 {}也可以省略
    let f8 = () => console.log(123);

6.返回一个对象
    let f9 = () => { a: 1 };

注意!

    1.只有一个形参的时候,()可以不写

    2.函数体中如果有一条非retnrn语句 {}可以不写

    3.函数体中如果只有一个return语句,那么{}和return 都不用写

    4.函数体中如果返回一个对象,需要用{}包裹起来

    5.箭头函数中的this指向最外面的那一级

 收集参数  利用的arguments

function fn(a,b,c,d){
        console.log(arguments);
        console.log(Array.isArray(arguments));
    }
    fn(1,2,3,4)

对数组的拓展

 遍历数组的方式

1.for循环

2.forEach

3.for in

4.for of

let arr=[1,2,3,4,5]
    for(let i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
    console.log("-------------");
    arr.forEach(item => {
        console.log(item);
    });
    console.log("-------------");
    for (let index in arr) {
        console.log(arr[index]);
    }
    console.log("-------------");
    for (let item of arr) {
        console.log(item);
    }

遍历对象的方式

1.for in

2.Object.keys

3.Object.values

 4.Object.entries

let obj={
        name:"wc",
        age:"18",
        id:14258
    }
    for (const key in obj) {
        // key是键 也就是属性名
       console.log(key+":"+obj[key]);
    //    这里面不能打点使用 要使用[]
    }

    // Object.keys
    console.log(Object.keys(obj));//把对象里面的所有键 也即是属性名放到一个数组里面
    console.log(Object.values(obj));//把对象里面的所有值 也就是属性值放到一个数组里面
    console.log(Object.entries(obj));//把对象里面的键值对 放到一个数组里

find:在一个数组中找到满足条件的第一个元素 并返回这个元素 如果没有则返回undefined

findIndex:在一个数组中找到满足条件的第一个元素并返回这个元素的索引 如果没有则返回-1

includes:判断一个数组中是否包含某个元素 如果包含则返回true否则false

map:对数组中的每一个元素进行加工 返回一个加工后的新数组

filter:对数组中每一个元素进行过滤 返回过滤后的新数组

some:遍历数组中的每一个元素,只要有一个元素满足条件,则返回true 并且立即停止遍历

every:遍历数组中的每一个元素 所有元素都满足条件后 返回true 有一个不满足就返回else 并停止遍历

对对象的拓展

当你的属性名和属性值相同的时候 就可以直接简写

let name="wc";
    let age="18";


    let obj={ name,age}

展开运算符

展开运算符 展开数组

let arr1=[1,2,3]
    let arr2=[4,5,6]
    console.log(...arr1);
    console.log(arr1);
    let arr3=[...arr1,...arr2]
    console.log(arr3);
    console.log(...arr3);

展开对象

let obj1={name:"zhangsan",age:18};
    console.log(obj1);
    let obj2={name1:"李四",age1:18};
    let obj3={...obj1,...obj2}
    // 因为属性名一致的时候会覆盖
    // 我们对象中  不存在重复属性
    console.log(obj3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值