一、 ECMAScript 和 JavaScript的关系
1、ECMAScript 6是什么?
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语⾔的下⼀代标准,已经在2015年6⽉正式发布了。它的目标是使得 JavaScript 语⾔可以用来编写复杂的⼤型应⽤程序,成为企业级开发语⾔。
2、ECMAScript 和 JavaScript 的关系
ECMAScript是JavaScript的标准,JavaScript是ECMAScript的实现。换句话说,如果说JavaScript是一门语言的话,那么ECMAScript就是这门语言遵循的语法书。
二、 搭建ES6项目环境
node安装:安装地址
三、 声明及数据赋值方式
1、关键字let与const的介绍
let
作用:声明一个变量
特点:
只在声明的代码块内有效
在同一作用于内不允许重复声明
没有变量提升
暂时性死区(在声明变量前,不能使用该变量)
const
作用:声明一个只读的变量(类似java的常量)
特点:和let关键字相似
注意事项:
变量声明的同时必须立即赋值
如声明的是简单类型的数据,变量的值不可以改变
四、Js的数据类型
1、简单数据类型
Number(数字)
String(字符串)
Boolean(布尔值)
Null(空对象指针)
Undefined(声明的变量未被初始化时)
Symbol(唯一的值)
2、复杂数据类型
Object(对象)
3、Symbol介绍
简介:
Symbol类型的数据是类似字符串的数据类型,由于Symbol函数返回的值是原始类型的数据,不是对象,故Symbol函数前不能使用new命令,否则会报错。
作用:创建独一无二的值
let xd1 = Symbol()
let xd2 = Symbol()
console.log(xd1===xd2) //false
let xd1 = Symbol('张三')
let xd2 = Symbol('张三')
console.log(xd1===xd2) //false
五、解构赋值
1、简介:
它是针对数组或者对象进⾏模式匹配,然后对其中的变量进⾏赋值,也⽅便了对象数组的读取操作。
2、作用:
ES6中只要某种数据可以循环迭代,都可以进⾏解构赋值(遍历更方便)。
3、使用方法:
①数组解构
// 变量多时
let [a, b, c] = [1, 2]
console.log(a, b, c) // 1,2,undefined
// 变量默认值
let [a, b, c = 6] = [1, 2]
console.log(a, b, c) // 1,2,6
// 分割数组
let [a, ...other] = [1, 2, 3]
console.log(a, other) // 1,[2,3]
// 空内容
let [a,,b] = [1, 2, 3]
console.log(a, b) // 1,3
②对象解构
// 使⽤
let { a, b } = { a: 1, b: 2 };
console.log(a, b); // 1,2
// 重命名
let { a: aa, b: bb } = { a: 1, b: 2 };
console.log(aa, bb); // 1,2
③读取接口返回的数据
function test() {
return {
name: '张三',
data: [
{
hobby: '敲代码',
},
],
};
}
let { name , data: [{ hobby }],} = test();
console.log(name, hobby); // 张三 敲代码
六、数据操作方法
1、常见API介绍
方法 | 描述 |
includes(String, index) | 判断字符串中是否包含指定字符串,返回布尔值 |
startsWith(String, index) | 判断字符串的开头是否包含指定字符串,返回布尔值 |
endsWith(String, index) | 判断字符串的尾部是否包含指定字符串,返回布尔值 |
repeat(n) | 返回一个新字符串,表示将原字符串重复n次 |
字符串补全 | |
padStart(String, str) | 用于头部补全 |
padEnd(String, str) | 用于尾部补全 |
2、模板字符串(类似sql拼接)
// 语法
const name = "张三"
const age = 18
const hobbies = "敲代码"
//写法
const str = `我的名字是${name},我今年${age}岁,我喜欢${hobbies}`
console.log(str) //我的名字是张三,我今年18岁,我喜欢敲代码