ES6简单的基础语法

变量声明

  1. let声明变量不会挂载在window中,不会造成全局变量污染
var num = 123;
console.log(num)//123
console.log(window.num)//undefined
  1. 新增一个块级作用域{},以前只有函数作用域和全局作用域
  2. let不允许重复声明
let num = 100;
let num = 200;
console.log(num)//报错Uncaught SyntaxError: Identifier 'num' has already been declared
  1. let声明不存在声明提前(只是人为看到的效果,实际上有声明提前,只是提前到暂时性死区中)
    console.log(a);
    var a = 10; // undefined
    console.log(b);
    let b = 12; // Uncaught ReferenceError: Cannot access 'y' before initialization

2.2 声明常量

1.const声明变量不会挂载在window中,不会造成全局变量污染
2. 新增一个块级作用域{},以前只有函数作用域和全局作用域
3. const不允许重复声明
4. const声明不存在声明提前(只是人为看到的效果,实际上有声明提前,只是提前到暂时性死区中)
5. 不允许被修改,不允许改变内存空间地址
6. const 声明和赋值必须一次性完成,后期不允许修改存储空间地址;

不允许改变

    const a = 1;
    console.log(a) //1
    a = 2;
    console.log(a) //报错 Uncaught TypeError: Assignment to constant variable.

不允许重新赋值

  const a;
  a = 100;
  console.log(a)

字符串模板

        let str = `天气很好`;
        let day = "今天"
        console.log(`${day}天气很好`)//今天天气很好
        console.log(str)//天气很好
        console.log(`1+1=${1+1}`)//1+1=2

ES6新增的字符串API

includes(str)返回一个布尔值,表示是都找到参数字符串

[1, 2, 3].includes(2)//true

startsWith(str)返回一个布尔值,表示参数字符串是否在字符串的头部

var str = "Hello world";
var n = str.startsWith("Hello");//true

endWith(str)返回一个布尔值,表示参数字符串是否在字符串的尾部
和上面类似
repet(num)返回一个新的字符串,将指定字符串重复

var str = "aaa";
str.repeat(2);//aaaaaa

codePointAt()能够正确处理4个字节存储的字符串,返回一个字符的码点

        let str1 = "𠮷";
        let str2 = "吉";
        console.log(str1.length)//2
        console.log(str2.length)//1
        console.log(str1.codePointAt())//134071
        console.log(str2.codePointAt())//21513

normalize() 方法移除空的文本节点,并连接相邻的文本节点。

解构赋值

ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这种被称为解构(Destructuing)解构赋值是对赋值运算符的一种扩展,主要针对对象和数组中的变量进行赋值,简化了代码的书写长度,提高代码编写效率。

    // 数组的解构
    // 如果解构不成功,变量的值为undefined
         let [foo,bar] = [1];
         console.log(foo,bar)//1 undefind
         let [a,[b,c],d] = [1,[2,3],4] //a=1;b=2;c=3;d=4
    // 对象的解构
         let {bar:q,foo} = {foo : "abc",bar:"qwe"}
          console.log(foo,q)//abc qwe

…运算符(扩展运算符)

收集 : 形参的收集,类似于arguments,剩余参数收集

  function sum(a,...arg){
        console.log(arg)//[2,3]
        console.log(a,arg)1 [2,3]
        }
        sum(1,2,3)

展开 :ES6的展开针对于数组 ES7的展开针对于对象的

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

还可以进行克隆

         let arr1 = [1,2,3]
         let arr2 = [...arr1]
         console.log(arr1,arr2)//[1,2,3][1,2,3]
         console.log(arr1[3] == arr2[3])//对数组深克隆true

默认参数

ES6提供可以给函数参数添加默认值的方法
在ES6默认参数中,只有当没有传递参数或参数为undefined,才会使用默认值,null、’’、false、NaN认为是有效传递
注意:只要给函数参数加上默认值,当前函数自动变成严格模式执行

function add(a, b = 1) {
      return a + b;
    }
    console.log(add(10)) //11
    //如果不传入值为NAN

。。。。。。。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值