JS - ES2015基础

ECMAScipt

ECMAScipt 简称 ES。

简单的理解就是用 ES 表示 JS 的版本。

例如,Java8、Java9,说的就是 Java SE 的版本;Python2、Python3,说的就是 Python 的版本。

ES2015(ES6)是一个跨越性很大的一个版本。

ES2015 基础语法

变量

  1. 使用 let代替 var

  2. 块级作用域。

  3. 不存在变量提升。

    var存在变量提升。

  4. 不允许重复声明。

总之,让变量更加规范。

1
2
3
//var str = "Hello World";
let str = "Hello World";
console.log(str);

常量

  1. const定义常量。

  2. 定义之后不可以修改。

  3. 不变的值用常量声明。

  4. 函数表达式可以使用常量。

    函数表达式常用const来定义。

    1
    2
    3
    4
    const fun1 = function () {
    console.log("hello world");
    };
    fun1();
  5. 对象声明可以使用常量。

    1
    2
    3
    4
    5
    6
    function getObject(){
    return {name:"xiaoming"};
    }
    const xm = getObject();。
    xm.name = "xiaohong";//虽然是常量,但是对象的属性可以改变。
    console.log(xm);
  6. 引入外部模块使用常量。

模板字符串

反引号 ``

  1. 支持换行。
    1
    2
    3
    4
    let str = `hello 
    world`;
    console.log(str); //hello
    // world
  2. 支持嵌入变量。
    ${}
    连接字符串
    1
    2
    3
    4
    5
    6
    7
    let year = "2020";
    let month = "10";
    let date = "10";
    //2020年10月10日
    // let result = year + "年" + month + "月" + date + "日";
    let result = `${year}${month}${date}日`;
    console.log(result);

解构赋值

  1. 数组的解构赋值。
    [n,m]
1
2
3
4
5
//   let n = 10;
// let m = 20;
let [n, m] = [10, 20];
console.log(n);
console.log(m);
  • 例子 - 交换。让 n=20,m=10。
    定义一个临时变量,先把 n 放到 temp 里,再把 m 赋值给 n,最后再把 temp 赋值给 n。

    • 方法一
    1
    2
    3
    4
    5
    6
    7
    8
    let n = 10;
    let m = 20;
    let temp;
    temp = n;
    n = m;
    m = temp;
    console.log(n); // 20
    console.log(m); // 10
    • 方法二(解构赋值)
    1
    2
    3
    4
    5
    let n = 10;
    let m = 20;
    [n, m] = [m, n];
    console.log(n); // 20
    console.log(m); // 10
  1. 对象的结构赋值(常用)。

    1
    2
    3
    4
    5
    6
    //   let name = "xiaoming";
    // let age = 10;
    let { name, age } = { name: "xiaoming", age: 10 };
    // let { age, name } = { name: "xiaoming", age: 10 }; //不会影响数据
    console.log(name); // xiaoming
    console.log(age); // 10
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let xm = { name: "xiaoming", age: 10 };
    // function getName(obj) {
    // return obj.name;
    // }
    function getName({ name }) {
    return name;
    }
    let result = getName(xm);
    console.log(result);
  2. 通过解构赋值传递参数。

字符串

可以用 "" 或者 '' 来定义,但最好要统一。

1
2
3
4
var str = 'hello "world"';
var str1 = 'hello "world"';
console.log(str); // hello "world"
console.log(str1); // hello "world"

课后练习

  1. 熟练使用本节讲解的基础语法。

以上内容编写于2021年8月19日01点12分。

欢迎关注我的其它发布渠道