返回顶部
首页 > 资讯 > 前端开发 > node.js >前端开发之ES6特性有哪些
  • 903
分享到

前端开发之ES6特性有哪些

2024-04-02 19:04:59 903人浏览 泡泡鱼
摘要

这篇文章主要介绍了前端开发之es6特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。下面是10个ES6最佳特性,排名不分先后:函数参数

这篇文章主要介绍了前端开发es6特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

下面是10个ES6最佳特性,排名不分先后:

  • 函数参数默认值

  • 模板字符串

  • 多行字符串

  • 解构赋值

  • 对象属性简写

  • 箭头函数

  • Promise

  • Let与Const

  • 模块化

  • 函数参数默认值

  • 不使用ES6

为函数的参数设置默认值:

function foo(height, color)
{
 var height = height || 50;
 var color = color || 'red';
 //...
}

这样写一般没问题,但是,当参数的布尔值为false时,是会出事情的!比如,我们这样调用foo函数:

foo(0, "", "")

因为0的布尔值为false,这样height的取值将是50。同理color的取值为‘red'。

使用ES6

function foo(height = 50, color = 'red')
{
 // ...
}

模板字符串

不使用ES6

使用+号将变量拼接为字符串:

var name = 'Your name is ' + first + ' ' + last + '.'

使用ES6

将变量放在大括号之中:

var name = `Your name is ${first} ${last}.`

ES6的写法更加简洁、直观。

多行字符串

不使用ES6

使用“\n\t”将多行字符串拼接起来:

var roadPoem = 'Then took the other, as just as fair,\n\t'
 + 'And having perhaps the better claim\n\t'
 + 'Because it was grassy and wanted wear,\n\t'
 + 'Though as for that the passing there\n\t'
 + 'Had worn them really about the same,\n\t'

使用ES6

将多行字符串放在反引号“之间就好了:

var roadPoem = `Then took the other, as just as fair,
 And having perhaps the better claim
 Because it was grassy and wanted wear,
 Though as for that the passing there
 Had worn them really about the same,`

解构赋值

不使用ES6

当需要获取某个对象的属性值时,需要单独获取:

var data = $('body').data(); // data有house和mouse属性
var house = data.house;
var mouse = data.mouse;

使用ES6

一次性获取对象的子属性:

var { house, mouse} = $('body').data()

对于数组也是一样的:

var [col1, col2] = $('.column');

对象属性简写

不使用ES6

对象中必须包含属性和值,显得非常多余:

var bar = 'bar';
var foo = function ()
{
 // ...
}
var baz = {
 bar: bar,
 foo: foo
};

使用ES6

对象中直接写变量,非常简单:

var bar = 'bar';
var foo = function ()
{
 // ...
}
var baz = { bar, foo };

箭头函数

不使用ES6

普通函数体内的this,指向调用时所在的对象。

function foo() 
{
 console.log(this.id);
}
var id = 1;
foo(); // 输出1
foo.call({ id: 2 }); // 输出2

使用ES6

箭头函数体内的this,就是定义时所在的对象,而不是调用时所在的对象。

var foo = () => {
 console.log(this.id);
}
var id = 1;
foo(); // 输出1
foo.call({ id: 2 }); // 输出1

Promise

不使用ES6

嵌套两个setTimeout回调函数:

setTimeout(function()
{
 console.log('Hello'); // 1秒后输出"Hello"
 setTimeout(function()
 {
  console.log('Fundebug'); // 2秒后输出"Fundebug"
 }, 1000);
}, 1000);

使用ES6

使用两个then是异步编程串行化,避免了回调地狱:

var wait1000 = new Promise(function(resolve, reject)
{
 setTimeout(resolve, 1000);
});
wait1000
 .then(function()
 {
  console.log("Hello"); // 1秒后输出"Hello"
  return wait1000;
 })
 .then(function()
 {
  console.log("Fundebug"); // 2秒后输出"Fundebug"
 });

Let与Const

使用Var

var定义的变量未函数级作用域:

{
 var a = 10;
}
console.log(a); // 输出10

使用let与const

let定义的变量为块级作用域,因此会报错:(如果你希望实时监控javascript应用的错误,欢迎免费使用Fundebug)

{
 let a = 10;
}
console.log(a); // 报错“ReferenceError: a is not defined”

const与let一样,也是块级作用域。

不使用ES6

使用构造函数创建对象:

function Point(x, y)
{
 this.x = x;
 this.y = y;
 this.add = function()
 {
  return this.x + this.y;
 };
}
var p = new Point(1, 2);
console.log(p.add()); // 输出3

使用ES6

使用Class定义类,更加规范,且你能够继承:

class Point
{
 constructor(x, y)
 {
  this.x = x;
  this.y = y;
 }
 add()
 {
  return this.x + this.y;
 }
}
var p = new Point(1, 2);
console.log(p.add()); // 输出3

模块化

JavaScript一直没有官方的模块化解决方案,开发者在实践中主要采用Commonjs和AMD规范。而ES6制定了模块(Module)功能。

不使用ES6

node.js采用CommenJS规范实现了模块化,而前端也可以采用,只是在部署时需要使用Browserify等工具打包。这里不妨介绍一下CommenJS规范。

module.js中使用module.exports导出port变量和getAccounts函数:

module.exports = {
 port: 3000,
 getAccounts: function() {
 ...
 }
}

main.js中使用require导入module.js:

var service = require('module.js')
console.log(service.port) // 输出3000

使用ES6

ES6中使用export与import关键词实现模块化。

module.js中使用export导出port变量和getAccounts函数:

export var port = 3000
export function getAccounts(url) {
 ...
}

main.js中使用import导入module.js,可以指定需要导入的变量:

import {port, getAccounts} from 'module'
console.log(port) // 输出3000

也可以将全部变量导入:

import * as service from 'module'
console.log(service.port) // 3000

感谢你能够认真阅读完这篇文章,希望小编分享的“前端开发之ES6特性有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: 前端开发之ES6特性有哪些

本文链接: https://lsjlt.com/news/79277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 前端开发之ES6特性有哪些
    这篇文章主要介绍了前端开发之ES6特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。下面是10个ES6最佳特性,排名不分先后:函数参数...
    99+
    2024-04-02
  • 前端开发es6有哪些特点
    这篇文章主要介绍“前端开发es6有哪些特点”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端开发es6有哪些特点”文章能帮助大家解决问题。特点:1、加人新变量声明方法const和let;2、模板字符...
    99+
    2023-07-04
  • 前端开发中容易被忽略CSS特性有哪些
    这篇文章给大家分享的是有关前端开发中容易被忽略CSS特性有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大小写不敏感虽然我们平时在写CSS的时候都是用小写,但其实CSS并不是...
    99+
    2024-04-02
  • ES6中有哪些特性
    这篇文章给大家分享的是有关ES6中有哪些特性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.Object Shorthand新的对象声明方法允许我们可以不声明对象的 key :...
    99+
    2024-04-02
  • es6核心特性有哪些
    本篇内容主要讲解“es6核心特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6核心特性有哪些”吧! es6核心特性有:1...
    99+
    2024-04-02
  • ES6~ES12的特性有哪些
    这篇文章主要讲解了“ES6~ES12的特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ES6~ES12的特性有哪些”吧!ECMAScriptECMA...
    99+
    2024-04-02
  • es6新特性都有哪些
    本教程操作环境:Windows10系统、ECMAScript 6版、Dell G3电脑。es6新特性都有哪些?ES6新特性1、let和const前面讲过:https://www.php.cn/js-tutorial-499866.html2...
    99+
    2023-05-14
    ES6
  • es6的新特性有哪些
    es6的新特性有:1、块级作用域,可以在块级作用域中声明变量;2、箭头函数,一种新的函数声明方式;3、解构赋值,一种从数组或对象中提取值并赋值给变量的语;4、默认参数,允许在函数定义时为参数提供默认值;5、扩展运算符,可以将数组或对象展开,...
    99+
    2023-08-04
  • es6的新增特性有哪些
    这篇文章主要介绍“es6的新增特性有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6的新增特性有哪些”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • 有哪些实用的ES6特性
    这篇文章主要介绍“有哪些实用的ES6特性”,在日常操作中,相信很多人在有哪些实用的ES6特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些实用的ES6特性”的疑惑有所帮...
    99+
    2024-04-02
  • 移动前端开发和Web前端开发的区别有哪些
    本篇内容介绍了“移动前端开发和Web前端开发的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!回顾...
    99+
    2024-04-02
  • 前端开发与后端开发的区别有哪些
    这篇文章主要介绍了前端开发与后端开发的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 前端开发是什么前端称为客户端开发,你可以在应用程序或网站的屏幕上看到...
    99+
    2023-06-15
  • Web前端开发规范有哪些
    这篇文章给大家介绍Web前端开发规范有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。基本准则符合web标准, 语义化html, 结构表现行为分离, 兼容性优良. 页面性能方面, 代...
    99+
    2024-04-02
  • web前端开发工具有哪些
    本篇内容介绍了“web前端开发工具有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Web Standa...
    99+
    2024-04-02
  • Web前端开发有哪些要求
    本篇内容主要讲解“Web前端开发有哪些要求”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Web前端开发有哪些要求”吧!一、学习HTML5和CSS3基础 ...
    99+
    2024-04-02
  • 前端开发的规范有哪些
    这篇文章主要介绍“前端开发的规范有哪些”,在日常操作中,相信很多人在前端开发的规范有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”前端开发的规范有哪些”的疑惑有所帮助!接...
    99+
    2024-04-02
  • web前端开发框架有哪些
    本篇内容主要讲解“web前端开发框架有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web前端开发框架有哪些”吧!  一、Bootstrap  Boostr...
    99+
    2024-04-02
  • 前端html5开发优势有哪些
    本篇内容介绍了“前端html5开发优势有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Web前端开发者必知的CSS属性有哪些
    这篇文章将为大家详细讲解有关Web前端开发者必知的CSS属性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 圆角效果 如今的Web设计在不断跟进最新的开发技术,纷纷采用HTML5来开发多样性的W...
    99+
    2023-06-08
  • vue中用到es6特性有哪些
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。ECMAScript 6.0(以下简称 ES6)是 Javascript 语言的下一代标准,正式发布与2015年6月。它的目标,是使得Javascript语言可以用来编写...
    99+
    2023-05-14
    Vue
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作