ECMAScipt
ECMAScipt 简称 ES。
简单的理解就是用 ES 表示 JS 的版本。
例如,Java8、Java9,说的就是 Java SE 的版本;Python2、Python3,说的就是 Python 的版本。
ES2015(ES6)是一个跨越性很大的一个版本。
ES2015 基础语法
变量
使用
let
代替var
。块级作用域。
不存在变量提升。
var
存在变量提升。不允许重复声明。
总之,让变量更加规范。
1 | //var str = "Hello World"; |
常量
const
定义常量。定义之后不可以修改。
不变的值用常量声明。
函数表达式可以使用常量。
函数表达式常用
const
来定义。1
2
3
4const fun1 = function () {
console.log("hello world");
};
fun1();对象声明可以使用常量。
1
2
3
4
5
6function getObject(){
return {name:"xiaoming"};
}
const xm = getObject();。
xm.name = "xiaohong";//虽然是常量,但是对象的属性可以改变。
console.log(xm);引入外部模块使用常量。
模板字符串
反引号 ``
- 支持换行。
1
2
3
4let str = `hello
world`;
console.log(str); //hello
// world - 支持嵌入变量。
${}
连接字符串1
2
3
4
5
6
7let year = "2020";
let month = "10";
let date = "10";
//2020年10月10日
// let result = year + "年" + month + "月" + date + "日";
let result = `${year}年${month}月${date}日`;
console.log(result);
解构赋值
- 数组的解构赋值。
[n,m]
1 | // let n = 10; |
例子 - 交换。让 n=20,m=10。
定义一个临时变量,先把 n 放到 temp 里,再把 m 赋值给 n,最后再把 temp 赋值给 n。- 方法一
1
2
3
4
5
6
7
8let 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
5let n = 10;
let m = 20;
[n, m] = [m, n];
console.log(n); // 20
console.log(m); // 10
对象的结构赋值(常用)。
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); // 101
2
3
4
5
6
7
8
9let xm = { name: "xiaoming", age: 10 };
// function getName(obj) {
// return obj.name;
// }
function getName({ name }) {
return name;
}
let result = getName(xm);
console.log(result);通过解构赋值传递参数。
字符串
可以用 ""
或者 ''
来定义,但最好要统一。
1 | var str = 'hello "world"'; |
课后练习
- 熟练使用本节讲解的基础语法。
以上内容编写于2021年8月19日01点12分。