目录
一,定义变量let(类似var)" >一,定义变量let(类似var)
二,const 声明一个常量" >二,const 声明一个常量
 
三,字符串的扩展" >三,字符串的扩展
四, 5.0模板语法 :`模板字符串`" >四, 5.0模板语法 :`模板字符串`
五,6.0箭头函数:()=>{}" >五,6.0箭头函数:()=>{}
首页 web前端 js教程 ES6的语法详解

ES6的语法详解

Sep 11, 2017 am 11:48 AM
详解 语法

一,定义变量let(类似var)

在js一直有一个bug是var:

1、var 声明的变量会有变量提升


console.log(name);  //jhonvar name = 'jhon';
登录后复制

2、var 没有块级作用域


var name2 = 'jjjon';
{    var name2 = 'tom';
}
console.log(name2);     //tom
登录后复制

3、var 可以多次重复定义一个变量,后面的变量替换前面变量


var name3 = 'jond';var age = 18;var name3 = 19;var name3 = 'rose';
console.log(name3);     //rose
登录后复制

新的定义变量let:

1、let声明的变量不会有变量提升,只有在前面定义了在后面才能用


console.log(name4);     //报错let name4 = '1112';
登录后复制

2、let存在块级作用域


let name5 = '222';
{
    let name5 = ' ttt';
}
console.log(name5);  //222
登录后复制

3、let不能多次重复定义一个变量


let name6 = 'aa';
let name6 = 'bb';    //报错console.log(name6);  //aa
登录后复制

二,const 声明一个常量

常量:指的是不会改变的数据

1、值不能再改变 


const pi = 3.01415;//pi = 3;     //报错
    {
        const arr = [5,6,8,9,];
        arr.push(7);
        console.log(arr);  //(5) [5, 6, 8, 9, 7]
        arr = 10;     //值不能改变,否则报错
    }
登录后复制

 

2、常量具有块级作用域


{
    const ban = "vin";
}
console.log(ban);     //报错
登录后复制

3、没有变量提升,先声明后使用


console.log(ba);     //报错const ba = 'liu';
登录后复制

4、不能声明同名的常量

5、一定要赋初始值,否则报错


const bb;     //报错
登录后复制

6、如果声明的是对象,对象的地址不能改变,但是可以改变其内部的属性


const obj = {
    na:"jjjj",
    age:20};
console.log(obj.na);  //jjjjobj.na = "ccs";
console.log(obj.na);  //ccs
登录后复制

 

 例如:应用场景,固定的地址就可以用常量


// var path = 1122// var path = '1243';const path = 'path';
console.log(path);  //path
登录后复制

 

三,字符串的扩展

1、判断字符串"hello word"是否存在"word"


var str = 'hello word';var result = str.indexOf('word');
console.log(result);  //6
登录后复制

 2,ES6提供includes():返回布尔值,用于判断字符串是否包含某些字符


var bool = str.includes('word');
console.log(bool);    //true
登录后复制

3,startsWith(str[,num]):返回布尔值,用于判断字符串是否以某个字符开头


 bool2 = str.startsWith('hello'
登录后复制

//给这个方法传入2个参数
var bool3 = str.startsWith('word',6);
console.log(bool3);  //true

4,endsWith(str[,num]):返回布尔值,用于判断字符串是否以某些字符结尾


var bool4 = str.endsWith('d');
console.log(bool4);  //true//给这个方法传入两个参数var bool5 = str.endsWith('o',7);
console.log(bool5);  //false
登录后复制

5,repeat(num):传入数字,这个方法将字符串重复数字对应次数


var str322= '我爱我家,\n';
console.log(str322.repeat(3));        //3行 我爱我家,
登录后复制

 

四, 5.0模板语法 :`模板字符串`


var obj33 = {
    name:'zhuzhu',
    age:18,
    sex:'男',
    hobby:'女',
    veight:120,
    height:180};// 字符串拼接方法var str4 = '大家好,我叫:'+obj33.name+',今年'+obj33.age+',性别'+obj33.sex+',爱好'+obj33.hobby+'。';
console.log(str4);        //大家好,我叫:zhuzhu,今年18,性别男,爱好女。// 但是字符串的拼接太麻烦了,有没有简单的方法来解决这个问题呢,有的,模板字符串就可以了var temp111 = `大家好,我叫${obj33.name},今年${obj33.age},性别${obj33.sex},爱好${obj33.hobby}`;
console.log(temp111);    //大家好,我叫zhuzhu,今年18,性别男,爱好女//1,可以是变量let name8 = "美女";
let temp22 = `我叫${name8}`;
console.log(temp22);    //我叫美女// 2,可以是方法function getName(){    return "宝宝";
}
let temp3 = `我叫${getName()}`;
console.log(temp3);        //我叫宝宝// 3,可以是表达式let aa = 1 ;
let bb = 2;
let temp4 = `a + b=${aa+bb}`;
console.log(temp4);        //a + b=3
登录后复制

 

五,6.0箭头函数:()=>{}


// 最原始函数var arr = [2,3,5,7];
 $(arr).each(function(index,item){
   console.log(item);
 }); // 箭头函数改造// 改造一:匿名函数中的funtion关键字我们可以省略,参数与方法体之间中=>$(arr).each((index,item)=>{console.log(item);})
 // 改造二:如果方法体中的代码只有一句我们可以去掉{},并且代码结尾的分号要去掉$(arr).each((index,item) =>console.log(item));
登录后复制

以上是ES6的语法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Win11管理员权限获取详解 Win11管理员权限获取详解 Mar 08, 2024 pm 03:06 PM

Windows操作系统是全球最流行的操作系统之一,其新版本Win11备受瞩目。在Win11系统中,管理员权限的获取是一个重要的操作,管理员权限可以让用户对系统进行更多的操作和设置。本文将详细介绍在Win11系统中如何获取管理员权限,以及如何有效地管理权限。在Win11系统中,管理员权限分为本地管理员和域管理员两种。本地管理员是指具有对本地计算机的完全管理权限

Oracle SQL中的除法运算详解 Oracle SQL中的除法运算详解 Mar 10, 2024 am 09:51 AM

OracleSQL中的除法运算详解在OracleSQL中,除法运算是一种常见且重要的数学运算操作,用于计算两个数相除的结果。除法在数据库查询中经常用到,因此了解OracleSQL中的除法运算及其用法是数据库开发人员必备的技能之一。本文将详细讨论OracleSQL中除法运算的相关知识,并提供具体的代码示例供读者参考。一、OracleSQL中的除法运算

PHP模运算符的作用及用法详解 PHP模运算符的作用及用法详解 Mar 19, 2024 pm 04:33 PM

PHP中的模运算符(%)是用来获取两个数值相除的余数的。在本文中,我们将详细讨论模运算符的作用及用法,并提供具体的代码示例来帮助读者更好地理解。1.模运算符的作用在数学中,当我们将一个整数除以另一个整数时,会得到一个商和一个余数。例如,当我们将10除以3时,商为3,余数为1。模运算符就是用来获取这个余数的。2.模运算符的用法在PHP中,使用%符号来表示模

linux系统调用system()函数详解 linux系统调用system()函数详解 Feb 22, 2024 pm 08:21 PM

Linux系统调用system()函数详解系统调用是Linux操作系统中非常重要的一部分,它提供了一种与系统内核进行交互的方式。其中,system()函数是一个常用的系统调用函数之一。本文将详细介绍system()函数的使用方法,并提供相应的代码示例。系统调用的基本概念系统调用是用户程序与操作系统内核交互的一种方式。用户程序通过调用系统调用函数来请求操作系统

Linux的curl命令详解 Linux的curl命令详解 Feb 21, 2024 pm 10:33 PM

Linux的curl命令详解摘要:curl是一种强大的命令行工具,用于与服务器进行数据通信。本文将介绍curl命令的基本用法,并提供实际的代码示例,帮助读者更好地理解和应用该命令。一、curl是什么?curl是一个命令行工具,用于发送和接收各种网络请求。它支持多种协议,如HTTP、FTP、TELNET等,并提供了丰富的功能,如文件上传、文件下载、数据传输、代

深入了解Promise.resolve() 深入了解Promise.resolve() Feb 18, 2024 pm 07:13 PM

Promise.resolve()详解,需要具体代码示例Promise是JavaScript中一种用于处理异步操作的机制。在实际开发中,经常需要处理一些需要按顺序执行的异步任务,而Promise.resolve()方法就是用来返回一个已经Fulfilled状态的Promise对象。Promise.resolve()是Promise类的一个静态方法,它接受一个

详细解析C语言学习路线 详细解析C语言学习路线 Feb 18, 2024 am 10:38 AM

C语言作为一门广泛应用在软件开发领域的编程语言,是很多程序员初学者的首选。学习C语言不仅可以帮助我们建立编程的基础知识,还可以提升我们解决问题和思考的能力。本文将详细介绍一条C语言学习的路线图,帮助初学者更好地规划自己的学习进程。1.学习基本语法在开始学习C语言之前,我们首先需要了解C语言的基本语法规则。这包括变量和数据类型、运算符、控制语句(如if语句、

lambda 表达式的语法和结构有什么特点? lambda 表达式的语法和结构有什么特点? Apr 25, 2024 pm 01:12 PM

Lambda表达式是无名称的匿名函数,其语法为:(parameter_list)->expression。它们具有匿名性、多样性、柯里化和闭包等特点。实际应用中,Lambda表达式可用于简洁地定义函数,如求和函数sum_lambda=lambdax,y:x+y,并通过map()函数应用于列表来进行求和操作。

See all articles