变量:
let 块级变量
const 常量变量
----------------------------------------------
箭头函数:
箭头函数为 Javascript 语言增色不少。它使得代码更简洁。
------------------------------------------------
字符串:
几个方便的方法被添加到 String 的原型中:
my string'.startsWith('my'); //true
'my string'.endsWith('my'); // false
'my string'.includes('str'); // true
---创建重复字符串的方法
'my '.repeat(3); // 'my my my '
----------------------------------------------
模板字符串:
et name = 'John',
apples = 5,
pears = 7,
bananas = function() { return 3; }
console.log(`This is ${name}.`);
----------------------------------------------
数组:
Array.from 从类数组和可遍历对象 中 创建 Array 的实例
类数组对象示例包括:
函数中的 arguments;
由 document.getElementByTagName() 返回的 nodeList;
新增加的 Map 和 Set 数据结构。
let itemElements = document.querySelectorAll('.items');
let items = Array.from(itemElements);
items.forEach(function(element) {
console.log(element.nodeType)
});
在上面的例子中,可以看到 items 数组拥有 forEach 方法,该方法是 itemElements 集合所不具备的。
----
Array.from 的一个有趣的特性是它的第二个可选参数mapFunction 。该参数允许你通过一次单独调用创建一个新的映射数组。
let navElements = document.querySelectorAll('nav li');
let navTitles = Array.from(navElements, el => el.textContent);
Array.of 是 new Array() 的更优选择
let x = new Array(3); // [undefined, undefined, undefined]
let y = Array.of(8); // [8]
有几个方法被添加到 Array 的原型上:
find 返回回调返回 true 的第一个元素。
findIndex 返回回调函数返回 true的第一个元素的下标。
fill 用所给参数“覆盖”数组的元素。
[5, 1, 10, 8].find(n => n === 10) // 10
[5, 1, 10, 8].findIndex(n => n === 10) // 2
[0, 0, 0].fill(7) // [7, 7, 7]
[0, 0, 0, 0, 0].fill(7, 1, 3) // [0, 7, 7, 0, 0]
----------------------------------------------
Math
Math 对象新增了几个方法。
Math.sign 返回数字的符号,结果为 1、-1 或 0。
Math.trunc 返回无小数位的数字。
Math.cbrt 返回数字的立方根。
Math.sign(5); // 1
Math.sign(-9); // -1
Math.trunc(5.9); // 5
Math.trunc(5.123); // 5
Math.cbrt(64); // 4
--------------------------------------------------
模块
在 ES6 的模块语法中。模块设计围绕 export 和 import 关键词。
现在让我们看一个包含两个模块的例子:
export function sum(x, y) {
return x + y;
}
export var pi = 3.141593;
// app.js
import { sum, pi } from "lib/math";
console.log('2π = ' + sum(pi, pi));
-------------------------------------------------------
类
类的创建围绕 class 和 constructor 关键词。
以下是个简短的示例:
class Vehicle {
constructor(name) {
this.name = name;
this.kind = 'vehicle';
}
getName() {
return this.name;
}
}
// Create an instance
let myVehicle = new Vehicle('rocky');
注意类的定义不是一般的对象,因此,类的成员间没有逗号。
---
创造一个类的对象时,需要使用 new 关键词。继承一个基类时,使用 extends:
class Car extends Vehicle {
constructor(name) {
super(name);
this.kind = 'car'
}
}
let myCar = new Car('bumpy');
myCar.getName(); // 'bumpy'
myCar instanceof Car; // true
myCar instanceof Vehicle; //true
参考文献:
https://www.cnblogs.com/ws-zhangbo/p/5629706.html