声明变量的三种方式
方式 | 作用域 | 声明次数 |
---|---|---|
var | var 是在全局范围内有效 | var 可以声明多次 |
let | let 声明的变量只在 let 命令所在的代码块内有效 | 只能声明一次,值可以改变 |
const | const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错 | 只能声明一次,值不可以改变 |
暂时性死区:ES6 明确规定,代码块内如果存在 let 或者 const,代码块会对这些命令声明的变量从块的开始就形成一个封闭作用域
解构赋值
解构赋值是对赋值运算符的扩展,他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值
解构对象 | 结构方式 |
---|---|
数组 | 基本,可嵌套,可忽略,不完全解构,剩余运算符,字符串等,解构默认值 |
对象 | 基本,可嵌套,可忽略,不完全解构,剩余运算符,字符串等,解构默认值 |
遍历方法
方式 | 对象 |
---|---|
for | 数组,对象 |
for…in | 数组,对象 |
forEach | 数组,对象 |
for…of | 数组,对象 |
字符串的几个拓展方法
- includes():返回布尔值,判断是否找到参数字符串。
- startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
- endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
- ES6 之前判断字符串是否包含子串,用 indexOf 方法
- repeat():返回新的字符串,表示将字符串重复指定次数返回。
- padStart:返回新的字符串,表示用参数字符串从头部补全原字符串。
- padEnd:返回新的字符串,表示用参数字符串从头部补全原字符串。
模板字符串:模板字符串相当于加强版的字符串,用反引号 ` ,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。变量名写在${} 中,${} 中可以放入 JavaScript 表达式
对象的字面量
- 属性简写
- 方法名简写
- 属性名表达式
对象的拓展与算符:拓展运算符(…)用于取出参数对象所有可遍历属性然后拷贝到当前对象。
注意:自定义的属性在拓展运算符后面,则拓展运算符对象内部同名的属性将被覆盖掉
数组
数组创建的两种拓展方法
- Array.from() 将集合或者对象转换成纯数组
- Array.of() 生成指定元素的对象
类数组对象:一个类数组对象必须含有 length 属性,且元素属性名必须是数值或者可转换为数值的字符。
数组拓展方法
方法 | 作用 |
---|---|
find | 查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素 |
findIndex | 查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引 |
fill | 将一定范围索引的数组元素内容填充为单个指定的值 |
copyWithin | 将一定范围索引的数组元素修改为此数组另一指定范围索引的元素 |
entries | 遍历键值对 |
keys | 遍历键名 |
values | 遍历键值 |
includes | 数组是否包含指定值 |
some | 某些元素满足条件 |
every | 每个元素都满足条件 |
函数
- 函数默认值
- 函数的不定参数
- 箭头函数
当箭头函数没有参数或者有多个参数,要用 () 括起来。
当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来
注意点:没有 this、super、arguments 和 new.target 绑定。
模块
ES6 的模块化分为导出(export) @与导入(import)两个模块。
模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。
在一个文件或模块中,export、import 可以有多个,export default 仅有一个。
export default 中的 default 是对应的导出接口变量。
通过 export 方式导出,在导入时要加{ },export default 则不需要。
export default 向外暴露的成员,可以使用任意变量来接收。
export 用于从模块中导出函数、对象或原始值,以便其他程序使用 import 引入它们
模板字符串
data() {
return {
logo: {
// src 的值是用反引号(`)标识的模板字符串,我们只需将变量放在 ${} 的大括号之中
src: `${this.uploadsUrl}sites/ByvFbNlQYVwhvTyBgLdqitchoacDNznN.jpg`,
title: 'VuejsCaff'
}
}
},