ES6新特性--面试汇总

ES6新特性

① 新增let和const:不存在变量提升
② 箭头函数:function aa = ()=>{} 形参只有一个可省略(),只有一个表达式可以直接return;箭头函数中的 this 始终指向箭头函数定义时离 this 最近的一个函数,如果没有最近的函数就指向 window。
③ 模板字符串: 我是 ${name}
④ 解构赋值:

let [a, b, c] = [1, 2, 3];let { foo, bar } = { foo: 'aaa', bar: 'bbb' }; // foo = 'aaa' // bar = 'bbb';set(),本身是构造函数
let set = new Set([1,2,2,1,4,3,5])
console.log(set)//Set(5) {1, 2, 4, 3, 5}

数组去重:Array.from(new Set( arr )) ; […new Set(arr)]
字符串去重:[…new Set(str) ]//str = “123415526” == 123456

⑤ 类:继承了父亲的属性改写了父亲的属性,不影响父亲的属性;

class father {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    say() {
        console.log(`${this.name}说他${this.age}`)
    }
}
let son1 = new father("李哈哈", 27);

// 继承:
class son2 extends father {
    constructor(name, age, height) {
        super(name, age);
        this.height = height
    }
    //对父亲方法进行改写
    say() {
        console.log(`${this.name}说他${this.age}===>${this.height}`)
    }
}


console.log(son1.say);//李哈哈说他27    + undefined--->不清楚为啥会有
console.log(new son2("桂花", 28, 1.63).say());//桂花说他28===>1.63   + undefined--->不清楚为啥会有

⑥ 模块化

	export default {
		name: 'lili',
		fun: function () {
			console.log("找工作哇!");
		}
	}
  //HTML页面引入--<script ***type="module"***></script>
	import desc from './3.js'
	console.log(desc);

⑦ 拓展运算符 …
let arr = [1,2,3];

arr.push(...[33,55])
arr.push([313,515])
console.log(arr);//[ 1, 2, 3, 33, 55, [ 313, 515 ] ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ES6-ES12是JavaScript的不同版本,每个版本都引入了新的特性和改进。以下是一些ES6到ES12的新特性的示例: ES6(2015年): 1. 箭头函数:简化了函数的语法。 2. 模板字面量:使用反引号(`)来创建多行字符串和插入变量。 3. 解构赋值:从对象或数组中提取值并赋给变量。 4. let和const:引入块级作用域的变量声明方式。 5. Promise:处理异步操作的更强大的方式。 ES7(2016年): 1. Array.prototype.includes():判断数组是否包含某个元素。 2. 指数操作符:使用双星号(**)进行指数运算。 ES8(2017年): 1. async/await:更简洁地处理异步操作。 2. Object.values()和Object.entries():从对象中提取值或键值对。 ES9(2018年): 1. Rest/Spread属性:通过...语法来处理函数参数和对象字面量。 2. Promise.prototype.finally():在Promise结束时执行操作。 ES10(2019年): 1. Array.prototype.flat()和Array.prototype.flatMap():用于处理嵌套数组的方法。 2. Object.fromEntries():将键值对列表转换为对象。 ES11(2020年): 1. 可选链操作符(Optional chaining):简化了访问深层嵌套属性的方式。 2. Nullish coalescing操作符:提供了一种默认值的设定方式。 ES12(2021年): 1. Promise.any():在多个Promise中返回最快解决的结果。 2. Logical Assignment Operators:提供了逻辑运算符与赋值的结合方式。 当然,以上仅是一些主要的新特性ES6-ES12还有其他许多有用的功能和语法改进。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值