美文网首页互联网科技ES6让前端飞
ES6 - 基本语法 [ lesson 1-3 ]

ES6 - 基本语法 [ lesson 1-3 ]

作者: zz77zz | 来源:发表于2019-03-01 17:27 被阅读1次

之前一篇中讲到项目构建 但是一般浏览器都支持es6了 可以直接测试 所以久不用什么项目构建 先把语法学完再说

20190228 18:03

今天基本上把活都干完了 所以才会有一天时间学习 抽空开始学习es6 在后端把接口写好之前 准备把es6在搞搞清楚
写java的同学对es一定不陌生 看起来根本就是一个东西

这里放个连接线上测试ES6代码

Lesson 01 let const


var log = function(a){
    document.write(a)
}

function test(){
    let a = 2
    let a = 2 //报错
    for(let i =0;i<3;i++){
        console.log(i)
    }
    console.log(i) //报错 因为块级作用域
}

test()

function test_const(){
    // const PI;
    // PI = Math.PI  //报错

    const k = {
        a:1
    }
    k.b = 2
    console.log(k)
}
test_const()

Lesson 02 解构赋值

数组 对象 字符串 函数参数 数值 解构赋值 **类似python的 args
20:30 到家没饭吃 继续写吧 我看看我能学多久 反正也没事儿干

//数组解构赋值
{
  let a ,b ,rest;
  [a,b,c] = [1,2,3]
  console.log(a,b,c)
}

{
  let a,b,c;
  [a,b,...c] = [1,2,3,4,5,6,7,8,9,0]
  console.log(a,b,c)
}

{
  let a,b;
  ({a,b} = {a:'first',b:2})
  console.log(a,b)
}

{
  let a ,b,rest;
  [a,b,c="default"] = [1,2]  // 如果没有配对的值 就是undefined
  console.log(a,b,c)
}


//使用场景
// 1.变量交换

{
  let a =1
  let b =2
  // [a,b] = [b,a]
  // console.log(a,b)
}

{
  function f(){
    return [1,2]
  }
  let a ,b
  [a,b] = f()
  console.log(a,b)
}


// 这个方法很有用啊 好神奇 选择性的接受某两个变量
{
  function f(){
    return [1,2,3,4,5,6]
  }

  let a,b,c
  [a,b,,,,c]=f()
  console.log(a,b,c) // 1 2 6
}
// 这两个场景可以混合使用
{
  function f(){
    return [1,2,3,4,5,6]
  }

  let a,b,c
  [a,b,...c]=f()
  console.log(a,b,c) // 1 2 [3, 4, 5, 6]
}


{
  let a = {
    p:22,
    q:true
  }

  let {p,q} = a
  console.log(p,q) //变量名跟key名必须一致
}

{
  let {a=10,b=5} = {a:3}
  console.log(a,b) //被更改 let
}
 
//json对象 这是最常使用到的场景 嵌套 理解好数据结构

{
  let data = {
    title:'aili',
    test:[{
      title:'test_aili',
      desc:'this is a description'
    }]
  }

  let {title:estitle,test:[{title:cntitle}]} = data

  console.log(estitle,cntitle) //aili test_aili
}

//剩下的就是函数里参数的解构赋值

Lesson 03 字符串拓展

21:55
安装babel-polyfill

{
  let str = "string"
  console.log("includes",str.includes("c"))
  console.log("start",str.startsWith("str"))
  console.log("end",str.endsWith("ing"))
}

// 重复
{
  let str = "aili"
  console.log(str.repeat(2))
} 

// 模板字符串 这个比较重要
{
  let name="list"
  let info = "hello world"

  let m = `i am ${name},${info}`
  console.log(m)
}

{
    console.log('是个大帅哥'.padStart(9,'aili'))   // aili是个大帅哥 就是讲后续字符串拼接到前面 并且可重复
    console.log('是个大帅哥'.padStart(13,'aili'))  //ailiaili是个大帅哥
    console.log('大帅哥是'.padEnd(8,'aili'))     //  大帅哥是aili 变相的插入头尾部 注意位数
}

//这个也有点酷炫了
{
    let user = {
        name:'aili',
        info:'hello world!!!!'
    }

    a`i am ${user.name},${user.info}`
    function a(s,v1,v2){
        console.log(s,v1,v2)   //i am ,,, |  aili |  hello world!!!!

        //这个s是个数组 好惊奇 ["i am ", ",", ""]
    }
}

{
    console.log(String.raw`Hi\n${1+1}`)
    console.log(`Hi\n${1+1}`)
}

今日分割线 明天继续

相关文章

  • ES6 - 基本语法 [ lesson 1-3 ]

    之前一篇中讲到项目构建 但是一般浏览器都支持es6了 可以直接测试 所以久不用什么项目构建 先把语法学完再说 20...

  • 简单总结ES6中的类定义语法和ES7的async/await

    学习ES6的类定义语法 基本知识点: ES6中定义类的方式, 就是ES5中定义类的语法糖,但虽然是语法糖,但是整体...

  • ES6 基本语法

    1. 变量 let 块级别变量,只能作用于所属块 { } var 全局变量,不建议使用 const 常量,初始化必...

  • es6基本语法

    定义变量 es6又新增了两种定义变量的方式分别是 let 和 const1.let 和 作用域的配合使用可以帮我们...

  • es6基本语法

    ES6是javascript的下一个版本,也叫做ECMAScript 2015,相对于es5,es6添加了许多新的...

  • ES6 基本语法

    一、 常量 二、 作用域 通过花括号限制作用域 箭头函数 => : 箭头函数等同于 ES3,ES5 的写法 ES6...

  • ES6基本语法

    ES6是什么? JavaScript的第六版,在ES5的基础上增加了许多特性:箭头函数、字符串插值、代理、生成器、...

  • 来,用ES6写个Promise吧

    本文采用es6语法实现Promise基本的功能, 适合有javascript和es6基础的读者,如果没有,请阅读 ...

  • ES6 JS 类与继承、静态方法

    一 类 ES6以前的语法 console.log("----------------------ES6以前的语法-...

  • ES6 JS 类与继承、静态方法

    一 类 ES6以前的语法 console.log("----------------------ES6以前的语法-...

网友评论

    本文标题:ES6 - 基本语法 [ lesson 1-3 ]

    本文链接:https://www.haomeiwen.com/subject/gnukuqtx.html