es6学习 http://es6.ruanyifeng.com/

基础学习   http://es6.ruanyifeng.com/  够了

1字符串

字符串的遍历器接口
for (let codePoint of 'foo') {
  console.log(codePoint)
}
// "f"
// "o"
// "o"

ES5 对字符串对象提供charAt方法,返回字符串给定位置的字符

'abc'.charAt(0) // "a"

可以识别 Unicode 编号大于0xFFFF字符

'abc'.at(0) // "a"

es5只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中

includes()  startsWith() endsWith():返回布尔值

let s = 'Hello world!';

s.startsWith('Hello') // true
这三个方法都支持第二个参数,表示开始搜索的位置。
s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true

repeat() 重复
'hello'.repeat(2) // "hellohello"


字符串拼接  模板

$('#result').append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

用反引号(`)标识

  2.数值

Number.isFinite()用来检查一个数值是否为有限的(finite)
 返回Boolean

Number.isNaN()用来检查一个值是否为NaN。

Number.isNaN(NaN) // true

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变

// ES5的写法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45

// ES6的写法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

Number.isInteger()用来判断一个值是否为整数。需要注意的是,在 JavaScript 内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。
Boolean 类型

Math.sign()方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

它会返回五种值。

参数为正数,返回+1;
参数为负数,返回-1;
参数为0,返回0;
参数为-0,返回-0;
其他值,返回NaN。
Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回NaN
Math.sign('')  // 0
Math.sign(true)  // +1
Math.sign(false)  // 0
Math.sign(null)  // 0
Math.sign('9')  // +1
Math.sign('foo')  // NaN
Math.sign()  // NaN

Math.cbrt()方法用于计算一个数的立方根
Math.cbrt(-1) // -1

Math.hypot()方法返回所有参数的平方和的平方根
Math.hypot(3, 4);        // 5
Math.hypot(3, 4, 5);     // 7.0710678118654755

  3.数值Array

Array
concat()	连接两个或更多的数组,并返回结果。
join()	把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()	删除并返回数组的最后一个元素
push()	向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()	颠倒数组中元素的顺序。
shift()	删除并返回数组的第一个元素
slice()	从某个已有的数组返回选定的元素
sort()	对数组的元素进行排序
splice()	删除元素,并向数组添加新元素。
toSource()	返回该对象的源代码。
toString()	把数组转换为字符串,并返回结果。
toLocaleString()	把数组转换为本地数组,并返回结果。
unshift()	向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()   返回数组对象的原始值

arr1.concat(arr2, arr3)
[...arr1, ...arr2, ...arr3]
[...'hello']

map() forEach() for of for in 

let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2': 'c',
    length: 3
};
[].slice.call(arrayLike)  ['a', 'b', 'c']
Array.from(arrayLike)

querySelectorAll()

Array.of(3, 11, 8)  // [3,11,8]
Array.of(3,1,2).length //3

用于找出第一个符合条件的数组成员
find() Arrar 

[1, 5, 10, 15].find((value, index, arr){
	return value>9
}) //10

数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
[1, 5, 10, 15].findIndex(function(value, index, arr) {
  return value > 9;
}) // 2

entries(),keys()和values()——用于遍历数组
for (let index of ['a', 'b'].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of ['a', 'b'].values()) {
  console.log(elem);
}
// 'a'
// 'b'

for (let [index, elem] of ['a', 'b'].entries()) {
  console.log(index, elem);
}
// 0 "a"
// 1 "b"

let letter = ['a', 'b', 'c'];
let entries = letter.entries();
console.log(entries.next().value); // [0, 'a']
console.log(entries.next().value); // [1, 'b']
console.log(entries.next().value); // [2, 'c']

includes() 类似 indexOf()
[1, 2, 3].includes(2)     // true
该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。
[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true

  

原文地址:https://www.cnblogs.com/lfqcode/p/7641270.html