Array . from()
方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象
类数组有两类arguments ,通过获取元素得到的类数组.本质特征只有一点, 即必须有Length属性,和下标
Array . of()
用于将一组值, 转换为数组。
copyWithin()
在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组
Array. prototype . copyWithin(target, start = 0, end = this.length)
target (必需) :从该位置开始替换数据。如果为负值,表示倒数。
start (可选) :从该位置开始读取数据,默认为0。如果为负值,表示从末尾开始计算。
end (可选) :到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。
find() 和findIndex()
find(回调函数) 返回的是一个符合条件的值没有 符合条件undefined
findIndex(回调函数) 返回的是一个符合条件的下标没有符合 条件返回-1
fill()
fill(替换的内容) 全部替换
fill(替换的内容,开始位置)
fill(替换的内容,开始位置,结束位置)
includes()
查看是否有这个数据,返回true,false
flat()
数组的成员有时还是数组,用于将嵌套的数组"拉平”,变成- -维的数组。该方法返回一个新数组,对原数据没有影响
================================================================
函数参数默认值
function(a=1, b=2){
}
length
指定了默认值以后,函数的Length属性,将返回没有指定默认值的参数个数。
也就是说,指定了默认值后,Length属性将失真。
name属性
函数的name属性,返回该函数的函数名。
这个属性早就被浏览器广泛支持,但是直到ES6, 才将其写入了标准
箭头函数
(1) 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
(2) 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。
(3) 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用rest参数代替。
(4) 不可以使用yield命令,因此箭头函数不能用作Generator 函数。
【如果这里面是一个参数括号可以不写,没有参数,或者多个参数必须加()
如果这个函数体里面只有一句话,可以不用加{} return 省略 】
=========================================================================
又叫 ...
运算符,剩余参数运算符,扩展运算符
1、把非数组变成数组
2、把数组变成一堆数据
3、复制数组 【深拷贝】
4、合并数组
5、配合解构赋值
6、对象中使用
let{x,y,…z}={x:1,y:2,a:3,b:4};
7、复制对象
let o2={b:2};
let{…03}=o2;
8、合并对象
//复制数组 【深拷贝】
//合并数组
//配合解构赋值
================================================================
ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法
0bject . assign()对象合并
重名的属性,后面的覆盖前面的
object.assign()拷贝的属性是有限制的,只拷贝源对象的自身属性(不拷贝继承属性),也不拷贝不可枚举的属性(enumerable:false)
0bject. assign()可以用来处理数组,但是会把数组视为对象。
0bject . is()
判断两个东西是否相等
===================================================================
class的写法
class类名{
}
继承
class 子类 extends父类 {
constructor() {
super() ;
}
}
实例属性的新写法
class 类名 {
属性=xxx;
}
静态方法
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为"静态方法"。
父类的静态方法,可以被子类继承。
静态属性.
静态属性指的是Class本身的属性,而不是定义在实例对象上的属性
目前,只有这种写法可行,因为ES6明确规定,Class 内部只有静态方法,没有静态属性。现在有一个提案提供了类的静态属性,写法是在实例属性的前面,加上static关键字。
============================================================================
ES6之前对象属性名都是字符串,这容易造成属性名的冲突,为了保证每个属性的名字都是独一无二ES6引入SymboL
Symbol是一种新的原始数据类型,表示独一无二的值。它是JavaScript 语言的第七种数据类型,前六种是: undefined、 null、布尔值(Boolean)、字符串(String) 、数值(Number)、对象(Object) 。
Symbol值通过SymboL函数生成。这就是说,对象的属性名现在可以有两种类型,-种是原来就有的字符串,另- -种就是新增的Symbol 类型 凡是属性名属于SymboL 类型,就都是独一-无二的,可以保证不会与其他属性名产生冲突。
SymboL函数可以接受一个字符串作为参数,表示对SymboL 实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
Symbol. description
Symbol作为属性名,遍历对象的时候,该属性不会出现在for…in. for… . of循环中,也不会被0bject. keys()、0bject . getOwnPropertyNames()、JSON. stringify()返回。
============================================================================
set它类似于数组,但是成员的值都是唯一 -的, 没有重复的值。
声明方式
Lets=newSet();
s. add(1)
或者
Let s = new Set([1, 2, 3, 4, 4]);
set相关方法
add(): 向Set结构加入成员
delete(value): 删除某个值,返回一个布尔值,表示删除是否成功。
has(value): 返回一个布尔值,表示该值是否为Set的成员。
clear(): 清除所有成员,没有返回值
变成真正的数组
[…set]
长度
set. size
去重
[… new Set(array)]
遍历
forEach
for-of
keys() 返回键名的遍历器
values() 返回键值的遍历器.
entries() 返回键值对的遍历器
map键可以是任何数据类型的对象
声明方式
const m = new Map();
const 0 = {p: ‘Hello World’};
m.set(o,‘content’)
方法
set() 添加
get() 获取
has() 返回一个布尔值,表示该值是否为map的成员
delete () 删除
size
cLear() 清除
遍历
forEach
for-of
keys()返回键名的遍历器
values()返回键值的遍历器
entries()返回键值对的遍历器#
=================================================================
导出
export 一个js文件就是一个模块
引入
import
defaule
var a=1;
var b=2;
//方法1
export {a as aaa,b as bbb} //as 可以把a从新取名aaa
//方法2
//export defaule {a ,b} // defaule抛出 后面可以用任意去接
< ! DOCTYPE htmL>
动态引入
…
es6模块化
1、必须放在服务器环境中
2、import ‘xXx’ 直接写路径,相当于引入文件,
3、关于路径可以写相对也可以写绝对
4、多次引入相同的模块,只相当于一次
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-P9e2nTS3-1712099589962)]
[外链图片转存中…(img-JZ6gqdIQ-1712099589962)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-FV2uHyDy-1712099589963)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。