es6学习笔记

126 阅读2分钟

字符串

1、'abc'.at(0)//'a'  返回指定字符串位置字符;

2、'abc'.includes('a')//true;  字符串是否包含某字符;

3、'abc'.startsWith('a')//true;字符串是否以某字符开头;

4、'abc'.endWith('c')//true;字符串是否以某字符结尾;

5、模版字符串 ` `

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

数值

1、Number.isNaN();先转为数值,判断是否为NaN

isNaN(NaN) // true
isNaN("NaN") // true
Number.isNaN(NaN) // true
Number.isNaN("NaN") // false
Number.isNaN(1) // false

2、Number.isInteger()判断一个数值是否为整数;

Number.isInteger(25) // true
Number.isInteger(25.1) // false

3、Math.trunc() 先转为数值,去除一个数的小数部分,返回整数部分;

Math.trunc(4.1) // 4
Math.trunc(4.9) // 4
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0

4、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

函数

1、rest参数  数组,可使用数组方法

function push(array, ...items) {
  items.forEach(function(item) {
    array.push(item);
    console.log(item);
  });
}

var a = [];
push(a, 1, 2, 3)
\\1
\\2
\\3

2、箭头函数 =>

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
  return num1 + num2;
};
当代码块大于一句语句时;需要用{}括起来

数组

1、扩展运算符 ...   将一个数组转为用逗号分隔的参数序列;

console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
  1、复制数组

  const a1 = [1, 2];// 写法一
const a2 = [...a1];
// 写法二
const [...a2] = a1;
  a1[0]=2;
console.log(a2)//[1,2]

2、字符串 将字符串转为真正的数组。

[...'hello']// [ "h", "e", "l", "l", "o" ]

2、find() 用于找出第一个符合条件的数组成员 ,返回该成员。如果没有符合条件的成员,则返回undefined;

3、findIndex() 返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1

对象

1、Object.is  比较两个值是否严格相等

Object.is('foo', 'foo')
// true
Object.is({}, {})
// false

2、Object.assign(目标对象,源对象)  对象的合并 (注意:浅拷贝)

const target = { a: 1 };
const source1 = { b: 2 };
const source2 = { c: 3 };
Object.assign(target, source1, source2);
target // {a:1, b:2, c:3}

3、Object.keys() 返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。   (通过Object.keys.length 判断是否为空对象)

var obj = { foo: 'bar', baz: 42 };
Object.keys(obj)
// ["foo", "baz"]

4、Object.values() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。

const obj = { foo: 'bar', baz: 42 };
Object.values(obj)
// ["bar", 42]

5、Obejct.entries() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组。

const obj = { foo: 'bar', baz: 42 };
Object.entries(obj)
// [ ["foo", "bar"], ["baz", 42] ]

6、Promise 对象

7、async函数