首页 > 其他分享 >2024最全前端面试系列(ES6)(ES6你不得不知道的新特性)

2024最全前端面试系列(ES6)(ES6你不得不知道的新特性)

时间:2024-09-07 16:21:21浏览次数:14  
标签:function ES6 console log 对象 最全 2024 let Symbol

function fn() {

return “Hello World”;

}

foo ${fn()} bar

// foo Hello World bar

Symbol


Symbol是ES6新增的基本类型。

Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。

// 没有参数的情况

let s1 = Symbol();

typeof s1 // “symbol”

let s2 = Symbol();

s1 === s2 // false

// 有参数的情况

let s1 = Symbol(‘foo’);

let s2 = Symbol(‘foo’);

s1 === s2 // false

箭头函数


(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。即继承上下文的this对象

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

// 箭头函数

function id () {

() => { console.log(this.id) }

}

// ES5普通函数

function id () {

var _this = this;

function () {

console.log(_this.id)

}

}

补充:(this对象)

this表示当前对象,this的指向是根据调用的上下文决定。

全局环境:this对象始终指向window对象

局部对象:

1.全局作用域。this指向window

2.对象里面调用函数。this指向对象

let button = document.getElemetById(‘button’)

button.onclick = function () {

console.log(this) //this指向button对象

}

3.使用new实例化对象,在构造函数中的this指向实例化对象

let fn = function(){

this.id = ‘xiaoMing’

}

let fn1 = new fn() //this指向fn1对象

遍历


1.利用for…of遍历数组

2.利用for…in遍历对象中的属性

变量解构


ES6 逐点突破系列 – 变量的解构赋值

数组解构

let [x, , y] = [1, 2, 3];

x // 1

y // 3

对象解构

let data = {

id: 1,

name: ‘xiaoMing’,

age: 18

};

let { id, age } = data;

console.log(id, age); //1, 18

字符串解构

const [a, b, c, d, e] = ‘hello’;

a // “h”

b // “e”

c // “l”

d // “l”

e // “o”

Promise


扩展运算符


应用场景

  1. 复制对象

let a = [11, 12, 13]

let b = a

let c = […a]

a.push(14)

console.log(b) //[11, 12, 13, 14]

console.log© //[11, 12, 13]

P.S. 只能针对一维数组

const obj = {a:{b:1}}

const {…x) = obj

obj.a.b = 2

console.log(b) //{a:{b:2}}

  1. 合并对象

let a = {…obj1, …obj2}

P.S. 后面的属性会覆盖前面同名属性

let obj1 = {a:1, b:2}

let obj2 = {…obj1, …{a:2, b:4}}

console.log(obj2) //{a:2, b:4}

  1. 变量解构

const [first, …last] = [1, 2, 3]

console.log(last) //[2, 3]

  1. 扩展函数参数

function show(…a){

console.log(a) //[11, 12, 13]

}

show(11, 12, 13)

async-await


object.assign()


set和map数据结构


数组去重

function distinct (arr) {

return Aarry.from(new Set(arr))

}

哈希(两数之和)

function twoSum (arr, target) {

const map = new Map()

for(let i = 0; i < arr.length; i++){

const error = target - arr[i]

if(map.has(error)){

return [map.get(error), i]

}else{

map.set(arr[i],i)

}

标签:function,ES6,console,log,对象,最全,2024,let,Symbol
From: https://blog.csdn.net/m0_57259945/article/details/141868616

相关文章

  • 202409071506,开始写代码,从0开始 验证基本架子
    由于视频教程里面用的VS2105所以照抄。 开发环境是VS2015,WIN10.  VS2015在今天看来是一个很古老的开发环境了,估计都很难找到安装包。(各种安装包:https://www.cnblogs.com/zjoch/p/5694013.html)用:vs2015.ent_chs.iso(3.88GB(4,172,560,384字节))这个安装包,安装过程出......
  • 【零基础 快速学Java】韩顺平 零基础30天学会Java--- 常用类(2024JavaReview)
    包装类包装类的分类(针对八种基本数据类型相应的引用类型—包装类)(有了类的特点,就可以调用类中的方法)(实现了接口Serializable【String可以串行化:可以在网络传输】)(实现了接口Comparable[String对象可以比较大小])包装类和基本数据的转换(jdk5前的手动装箱和拆箱方式,jdk5以后(含j......
  • Java 2024年详细面试题合集(持续更新)
    1.java中的数据结构数组、链表、哈希表、栈、堆、队列、树、图2.什么是跨域?跨域的三要素跨域指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制协议、域名、端口注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域3.tomcat三......
  • 【零基础 快速学Java】韩顺平 零基础30天学会Java--- 面向对象编程(中级部分)(2024Jav
    IDEA常用快捷键添加注释和取消注释ctrl+/【第一次是添加注释,第二次是取消注释】导入该行需要的类先配置autoimport,然后使用alt+enter即可快速格式化代码ctrl+alt+L生成构造器等alt+insert[提高开发效率]查看一个类的层级关系ctrl+H[学习继承后,非常有用]......
  • AI跟踪报道第55期-新加坡内哥谈技术-本周AI新闻: GPT NEXT (x100倍)即将在2024推出
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • 2024年8月文章一览
    2024年8月编程人总共更新了3篇文章:1.2024年7月文章一览2.《ProgrammingfromtheGroundUp》阅读笔记:p95-p1023.《ProgrammingfromtheGroundUp》阅读笔记:p103-p1168月,对自己而言是糟糕的一个月,两个项目要赶,从月初赶到月底。一路战战兢兢,如履薄冰,好在终于赶在月底顺利完成了,稍......
  • 2024年全国大学生数学建模比赛思路、题目、代码
    竞赛时间及参赛建议竞赛开始时间:北京时间2024年9月5日18:00竞赛结束时间:北京时间2024年9月8日20:00关于今年每道题的思路,可以关注我gzh回复”国赛A/B/C/D/E题“获取需要帮助的可以关注公众号,在功能栏点击联系我们!一、解题思路结合往年竞赛的特点和常见题型,我整理了一些......
  • 【专题】2024年8月医药行业报告合集汇总PDF分享(附原数据表)
    在科技飞速发展的当今时代,医药行业作为关乎人类生命健康的重要领域,正处于前所未有的变革浪潮之中。数智医疗服务的崛起,为医疗模式带来了全新的转变,开启了医疗服务的新时代。人工智能的潜能不断释放,为医药创新注入了强大的动力,有望重塑医药行业的发展格局。同时,国家政策的导向对生命......
  • 【专题】2024年中国游戏出海洞察报告合集PDF分享(附原数据表)
    2023年全球游戏市场规模高达6205.2亿美元,且预计未来持续增长,这清晰地展示了该市场的巨大潜力和良好前景。中国游戏在全球移动游戏市场的份额于2023年已达37%,产业贡献超30%的市场收入,这反映出中国游戏在全球市场中的地位日益重要,竞争力不断增强。中国移动游戏市场实际销售收......
  • Adobe Dimension DN 2024 WIM/MAC下载安装及常用快捷键 (3D设计软件)
    目录一、软件简介1.软件概述2.主要特性3.设计界面二、安装步骤1.下载与解压2.安装过程三、常用快捷键1.基础视图操作2.工具选择与控制3.高级编辑与预览一、软件简介1.软件概述AdobeDimension是一款功能强大的3D设计软件,它旨在简化3D模型的创建、渲染......