JavaScript——ES6新特性

本文介绍了ES6中的重要特性,包括数组和对象的解构赋值,扩展运算符在字符串、数组和对象中的应用,模板字符串的使用,以及箭头函数、对象简洁表示法、参数默认值、rest参数、类和继承的概念。此外,还讨论了ES6的模块化机制,包括export和import的使用方式。
摘要由CSDN通过智能技术生成

1.解构

//1.数组解构
let arr = ['小明', 30, '男'];
let [name, age, gender] = arr

//2.对象解构
const user = {name: '大明', age: 20, gender: '女'}
const {name, age, gender} = user

2.扩展运算符

//1.字符串
...str
场景: 将字符串转为数组 [...str]

//2.数组
...arr
场景:
	浅拷贝数组: [...arr]
	合并数组: [...arr1, ...arr2, ...arr3]
	伪数组转为真数组: [...arguments]  [...divElements]

//3.对象
...obj
场景: 
	浅拷贝: {...obj}
	合并对象: {...user1, ...user2}

3. 模板字符串

//1.语法
let a = '悲伤'
`这是一个${ a }的故事`

//2.注意
${ 表达式  }
表达式: 具有一个结果就叫表达式 

4. 对象简洁表示法

const user = {
  name,
  age,
  show,
  eat(){}
}

5. 箭头函数

//es5
const foo = function (num){
  return num + 20
}

//es6
const foo = num => num + 20;

//es5
setTimeout(function (){}, 300)

//es6
setTimeout(() => {}, 300)

6.es6参数默认值

//es5
const foo = function (a){
  a = a || '默认值'
}
foo()

//es6
const foo = (a='默认值') => {
  
}
foo()

7. rest参数

const foo = (a, b, ...c) => {
  	
}
foo(1,2,3,4,5,6,7)

8.ES6类

//父类
class Person{
  sex = '男'
  fav = '跳'
  //实例属性
  constructor(name, age){
    	this.name = name;
    	this.age = age;	
  }

  //原型方法
  show(){

  }
  eat(){

  }
  //静态方法 == 只能类调用
  static foo(){

  }
}

9.ES6类的继承

//子类
class Stu extends Person {
  constructor(name, age ,skill){
    super(name, age) //继承属性
    this.skill = skill
  }
  //原型方法
  showName(){
    
  }
}

10. es6模块化

//1.es6官方自定义的模块化
规定: 1. 一个js文件就是一个模块 2.模块之间存在相互依赖关系
使用1: export可以导出多次
	导出: 	
        export 数据	
        export 函数
        export 对象

        export{数据, 函数, 对象}
      
    导入: 
	  	import {} from '模块路径'


使用2: export default 一个模块中只能用一次
	导出
    	export default {数据, 函数, 对象}

	导入: 
		import 自定义对象名 from '模块路径'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值