ES6和Vue的练习题

1、举例说明ES6和CommonJS的模块化机制,并说明他们的差异。

ES6
导入
import { firstName, lastName, a, post } from ‘./module1.js’;
import { firstName as first, lastName as last } from ‘./module1.js’;
导入默认
import data from ‘./module1.js’
导入全部
import * as data from ‘./module1.js’;
导入执行(模块加载)
import ‘./module1.js’;
导入第三方模块(去项目的根目录找node_modules)
import ‘babel-preset-latest’;
导出
export { firstName, lastName };
export { firstName as fist, lastName as last };
export let a = 1;
export function post() {
}
默认导出(一个模块有且只能有1个默认导出,默认导出与普通导出可以共存)
export default {}
CommonJS
导入
let { firstName, lastName } = require(‘./1-module.js’)
导出
module.exports = {
firstname,
lastname
}

 区别:
 1、CommonJS模块输出的是一个值的拷贝,ES6模块输出的是值的引用。
 2.、CommonJS模块是运行时加载,ES6模块是编译时输出接口。

2、简述ES6中let和const的特性。

  • 变量声明不会被提升,即在变量声明之前无法使用该变量。
  • 具有局部作用域,即let声明的变量只能在对应代码块中使用。
  • 不允许重复声明。
  • const声明的变量在声明的时候就需要赋值,并且只能赋值一次,不能修改。

3、列举5个ES6中对象的新API,并解释其意义。

Object.is() 判断两个值是否一样
Object.assign(),Object.assign(obj1, obj2) 深复制
Object.assign(obj1, obj2, obj3) 对象组合
Object.setPrototypeOf(obj1, obj2) 为目标对象设置原型
Object.keys() 返回对象属性名组成的数组
Object.values() 返回对象属性值组成的数组
Object.entries() 返回对象[属性名, 属性值]组成的数组

4、简述拓展运算符的用法,可举例说明。

…用在=左边,聚合的作用(对象、数组的解构)
…用在=右边,展开(剥离)的作用
let obj1 = {
name: ‘张三’
}
let obj2 = {
…obj1,
age: 12
}
…也可以用在函数的形参中,作为rest参数

5、列举5个ES6中数组的新API,并解释其意义。

Array.from() 将其他类型属性转成数组
Array.of() 创建数组实例,实参就是数组的元素
Array.prototype.find() 返回满足条件的第一个元素
Array.prototype.findIndex() 返回满足条件的第一个元素的索引

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值