ES6 基本语法
ECMAScript 6 简介
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ECMA:国际标准组织
let 和 const 命令
ES6 新增了let
命令,用来声明变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效。
{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
上面代码在代码块之中,分别用let
和var
声明了两个变量。然后在代码块之外调用这两个变量,结果let
声明的变量报错,var
声明的变量返回了正确的值。这表明,let
声明的变量只在它所在的代码块有效。
const
声明一个只读的常量。一旦声明,常量的值就不能改变。
const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable.
上面代码表明改变常量的值会报错。
本质
const
实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const
只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。
模板字符串
<script> var name = '小明', age = '83'; // var str = name+"今年"+age+",下午我们去吃鸡"; var str = `${name}今年${age},下午我们去吃鸡`; alert(str) </script>
箭头函数
伪代码: function 函数名(){} === var 函数名 = ()=>{}
<script> // es5 写法 function add1(x,y) { return x+y } alert(add1(1,2)); // es6 箭头函数 var add2 = (a,b)=>{ return a+b } alert(add2(2,3)); </script>
字面量方式创建对象以及对象的单体模式
<script> var person = { name:'小明', age:18, fav:function() { // es5的函数中的this指向了当前对象 alert(this.name) } }; person.fav() // 小明 </script> <script> var person2 = { name: '小明2', age: 18, fav: () => { // es6注意事项:箭头函数会改变this的指向 父级 alert(this) } } person2.fav() // [object Window] </script> <script> //对象的单体模式 // 使用对象的单体模式解决了this的指向问题 var person = { name: '小明', age: 18, fav() { alert(this.name) } } person.fav() // 小明 </script>
es6中的面向对象
es6使用class 类方式创建
<script> class Cat{ // constuctor 构造器 class方式创建 单体模式之间不要有逗号 constructor(name,age){ this.name = name; this.age = age } showName(){ console.log(this.name) } showAge(){ console.log(this.age) } } var c = new Cat('xiaohong',12) c.showName() </script>
阮一峰的es6教程:http://es6.ruanyifeng.com/#docs/intro
ES6 基本语法的更多相关文章
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- ES6新语法
ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...
- ES6新语法的介绍
对于ES6新语法,阮一峰有一篇文章介绍的挺详细 http://es6.ruanyifeng.com/#docs/destructuring
- ES6最新语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- 让 Node.js 支持 ES6 的语法
为了让 Node.js 支持 ES6 的语法, 需要使用 Babel. 安装 es-checker 在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况. 在命令行下执行 ...
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- JavaScript ES6部分语法
ES6是JavaScript语言的新版本,它也可以叫做ES2015,之前学习的JavaScript属于ES5,ES6在它的基础上增加了一些语法,ES6是未来JavaScript的趋势,而且vue组件开 ...
- ES6常用语法简介import export
ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...
随机推荐
- Android Studio酷炫插件(一)——自动化快速实现Parcelable接口序列化
https://blog.csdn.net/kroclin/article/details/40902721 一.前言相信数据序列化大家都多多少少有接触到,比如自定义了一个实体类,需要在activit ...
- laravel orwhere的使用
- 『Numpy』内存分析_numpy.dtype解析内存数据
numpy.dtype用于自定义数据类型,实际是指导python程序存取内存数据时的解析方式. [注意],更改格式不能使用 array.dtype=int32 这样的硬性更改,会不改变内存直接该边解析 ...
- Matlab:导数边界值的有限元(Ritz)法
tic; % this method is transform from Ritz method %is used for solving two point BVP %this code was w ...
- UPX脱壳全程分析(转)
[文章标题]: UPX脱壳全程分析 [保护方式]: 本地验证 [使用工具]: OllyDBG [作者声明]: 只是感兴趣,没有其他目的.失误之处敬请诸位大侠赐教! ------------------ ...
- 中国历史人物传记数据库 CBDB 若干表简介
''' 推荐使用SQLite版本的CBDB数据库 推荐使用SQlite Studio进行数据库的操作 免费,可视化操作,轻量级应用,无需配置,学习扩展性好,非常适合广大历史系学生. ''' 一 人物基 ...
- react-native 打包apk
如果你是学习Android的和我一样的话那一定会用一些软件开发,如WebStore 等等 那么这里我就来讲一下在WebStore 开发的App 如何打包成一个手机可以安装的apk软件 1.首先你的Ap ...
- SQL-45 将titles_test表名修改为titles_2017。
题目描述 将titles_test表名修改为titles_2017.CREATE TABLE IF NOT EXISTS titles_test (id int(11) not null primar ...
- 补码的来源以及为什么byte的最小值是-128
1. 有符号数和无符号数 我们的实数分为正数和负数和0三部分 Byte数据类型一共有8位,如果是无符号数,最大可以表示的数为11111111 = 256 -1 = 255 无符号数代指不 ...
- MySQL免安装版错误解决方案
在进行mysql zip版本的安装时,遇到如下的错误 一.提示 无法启动此程序,丢失 msvcr140.dll 解决方法 下载Visual C++ Redistributable for Visual ...