跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

具体介绍JavaScript6的新特性

javascript 6里都有啥新鲜东西?让我们一起来看看 javascript 6的一些新特性。
let
,
const
(用来定义block-local 变量 ), 程序过程中的
function
解构:
let {x, y} = pt; let [s, v, o] = triple();
(前提是
let pt = {x:2, y:-5}
) 缺省参数值:
function f(x, y=1, z=0) {⋯}
其它 参数:
function g(i, j, ...r) { return r.slice(i, j); }
(不需要再使用
arguments
)。 立即学习 “ Java免费学习笔记(深入) ”; 数据展开:
let a = [0,1,2,3], o = new Something(...a);
。也可以用于 数组 字面量:
[1, ...array, 4]
. 对象 简写:
let one = 1; { one, func_one() {return 1;}, ['key ' + one]: 1 }
. 函数 简写
(a) => a * a
效果等同
(function(a) { return a * a; }).bind(this)
变量 0, 变量 1:
let m = new Map(); m.set(key, value); m.has(key); m.get(key)
. 还包括
.clear()
,
.delete()
,
.forEach()
,
.keys()
. 弱map:
let map = new WeakMap()
。当有 变量 5 变量 6时使用它。同理
new WeakSet()
。 promise:
new Promise((resolve, reject) => {…})
. 当
promise.then(value => {…})
时,
resolve(valueOrPromise)
返回承诺的值 (或者是一个新的promise,形成链式调用) 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载 当
promise.then(…).then(…).catch(error => {…})
reject(new Error(…))
中断promise 快速 promise 创建:
Promise.resolve(value)
,
Promise.reject(error)
. 迭代:
Promise.all(listOfPromises).then(listOfValues => …)
,
Promise.race(listOfPromises).then(valueThatResolvedFirst => …)
代理:
let obj = new Proxy(proto, handler)
. 简单说: 使用类对象的元素进行 变量 9(能够带来所有可访问的 其它 0。) 其它 1:
function* gen() { yield 1; yield 2; }
事实上,
gen()
会返回一个含有
next()
函数的对象。 循环:
for (var [key, val] of items(x)) { alert(key + ',' + val); }
。 类定义中使用
extends
,
super
, 和
static
:
class Point extends Base { constructor(x,y) { super(); this[px] = x, this[py] = y; this.r = function() { return Math.sqrt(x*x + y*y); } } get x() { return this[px]; } get y() { return this[py]; } proto_r() { return Math.sqrt(this[px] * this[px] + this[py] * this[py]); } equals(p) { return this[px] === p[px] && this[py] === p[py]; } }
符号(Symbol)对象,创建私有的key,可用于map和类中(私有成员 members)。
let a = Map(); { let k = Symbol(); a.set(k, 'value'); // 这里你可以访问和设置'value',比如a.get(k)。 } //这里不行,k是不可见的。
其它 6:
module math { export function sum(x, y) { return x + y; } export var pi = 3.141593; } import {sum, pi} from math; alert(sum(pi,pi));
模板式 其它 7: 可以多行,并能嵌入变量。
`You are ${age} years old.`
.
// 多行字符串 re`line1: (words )* line2: \w+` // It desugars to: re({raw:'line1: (words )*\nline2: \w+', cooked:'line1: (words )*\nline2: \w+'})
类型化数组

相关文章