EC6中常用的新特性

本文介绍了EC6中的新特性,包括let和const声明变量、解构表达式、字符串扩展、模板字符串、函数优化(如默认参数、不定参数和箭头函数)、对象优化、map和reduce函数的使用,以及Promise的异步处理和模块化。通过这些新特性,JavaScript的编程体验得到了显著提升。
摘要由CSDN通过智能技术生成

首先,什么是ES6呢,这里不再去复制粘贴概念,说白了ES6不是一门语言,而是脚本语言规范,而JavaScript是ES6规范的一种实现.我们可以简单想像成JDK和Java之间的关系.

1. 变量的声明 let

1)var声明的变量会越域,而let声明的变量有严格的局部作用域

{
   
    var a = 1;
    let b = 2;
}

console.log(a);
console.log(b);

在这里插入图片描述
2)var可以对同一个变量声明多次,而let对同给一个变量只可以声明一次

var a = 1;
var a = 2;
var a = 3;
let b = 1;
let b = 2;
console.log(a);
console.log(b);

在这里插入图片描述
3)var会变量提升,在var a 之前使用a,会得到undefined但是,在let b之前使用b会直接报错
在这里插入图片描述

2. const 声明常量(只读变量)

const a = 1;
a = 3;
console.log(a);

在这里插入图片描述

3. 解构表达式

个人而言,第一次接触解构表达式是在python,话说python对编程语言的影响真的好大,无论是java还是ES6标准这次的ES6很多新特性感觉都是借鉴了python,这将使得我们以后用js开发越发的便捷.

1)数组解构

普通方式:

let arr = [1,2,3];
let a = arr[0];
let b = arr[1];
let c = arr[2];

解构表达式:

let arr = [1,2,3];
let [a, b, b] = arr;

2)对象解构

普通方式:

const person = {
   
	name: "jack",
	age: 21,
	language: ['java','js','css']
}
const name = person.name;
const age = person.age;
const language = person.language;

解构表达式:

let {
   person.field:foo);
这里":"左边是对象中的属性,而右边是要接收属性值的变量名称.
let {
   name:nm, age:a, language:lan} = person;
console.log(nm);
console.log(a);
console.log(lan);

在这里插入图片描述
如果要用来接收属性值的变量名称和属性名称相同,name可以简写为:

let {
   name, age, language} = person;
console.log(name);
console.log(age);
console.log(language);

4. 字符串扩展

类似java语言,ES6新特性中,对字符串添加了如下的支持.

let str = "hello.vue";
console.log(str.startsWith("hello")); //true
console.log(str.endsWith(".vue")); //true
console.log(str.includes("e")); //true
console.log(str.includes("hello")); //true

5. 字符串模板

这个写法我也在python中见过,只不过python中好像是三单引号
ES6中用的是反向的点(tab键上面的那个)

let str = `
	<div>
		<span>hello world</span>
	</div>
`
console.log(str);

在这里插入图片描述
真的是很方便啊,想想以前苦逼的拼接字符串是多么痛苦

6.字符串插入变量和表达式

这个最早在shell中见到过,python中也有,强!拼接字符串越来越方便了.

let name = "jack";
let age = 23;
let info = `名字:${
     name}, 年龄:${
     age + 1}`;
console.log(info);

在这里插入图片描述
还可以调用方法哦!这个就越来越像shell了

function hi() {
   
    return "Hello World";
}
let info = `你好:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值