ES6-14面试题

1、ES6的新特性有哪些?

类语法, 模块化,箭头函数,函数参数默认值,模板字符串,解构赋值,延展操作符,对象属性简写, Promise, Let与Const,还有其他····

2、let, const,var的区别

var 有变量提升,let,const没有的

let const不能重复定义相同的变量名,有块级作用域,不与顶级对象挂钩,不影响作用域链

let 可以定义不赋值,const定义变量必须赋值

const定义变量不可修改,对于复杂数据类型来说,不修改地址值,可以修改堆里面的值的内容

3、箭头函数与普通函数有什么区别

箭头函数有简写方式,一个参数,小括号可以省略,函数体就一句,大括号可以省略

箭头函数不可以作为构造函数,不能new

箭头函数没有arguments

箭头函数中的this 是静态的, 始终指向函数声明时所在作用域下的 this 的值,没有自己的this

4、js的数据类型

string,number,boolean,null,undefined,object,Symbol

5、请你说一说Promise

promise是一种异步编程解决方案,可以比较完美的解决回调地狱问题

promise有三种状态:等待中,成功,失败

promise有两种结果:成功,失败

promise是一个构造函数,使用时需要new,参数是一个回调函数,回调函数中两个参数

一个是成功的回调,一个是失败的回调,对于promise结果我们可以用.then,.catch,还可以结合async,await可以处理

6、怎么使用模块化

暴露 export:分别暴露,统一暴露,默认暴露

导入 import:通用导入,解构赋值的导入,简易形式导入(只针对默认暴露)

所有的模块放在一个app.js文件中,在app.js文件中进行数据处理

7、Object.getOwnPropertyDescriptors

该方法返回指定对象所有自身属性的描述对象

value: "bdqn",//设置值

writable: true,//是否可写

configurable: true,//是否可以删除

enumerable: true,//是否可以遍历

8、类的私有属性,私有方法,类的静态属性,静态方法

#name 只能在类的内部使用,外部实例对象,构造函数也好,都不能用

static name 构造函数可以直接使用,实例对象不能使用

相关推荐
青青家的小灰灰几秒前
Pinia 完全指南:重构你的 Vue 3 状态管理架构
前端·javascript·vue.js
yuki_uix1 分钟前
深入理解 JavaScript Event Loop:从概念到实践的完整探索
前端·javascript
程序员阿峰2 分钟前
WebSocket 原理解析
前端
Lee川4 分钟前
JavaScript 继承进化史:从原型链的迷雾到完美的寄生组合
前端·javascript·面试
米饭同学i5 分钟前
微信小程序实现故事线指引动画效果
前端
阿懂在掘金7 分钟前
为什么写 Vue 强烈建议用 Setup?除了复用,更是代码组织
前端·vue.js
sorryhc18 分钟前
我让 AI 帮我写了一个 Code Agent!
前端·openai·ai编程
工边页字18 分钟前
面试官:请详细介绍下AI中的token,越详细越好!
前端·人工智能·后端
anyup18 分钟前
月销 8000+,uView Pro 让 uni-app 跨端开发提速 10 倍
前端·uni-app·开源
码路飞42 分钟前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript