ecmascript6识记1-(let、const、解构、string、数值)

 

1.let

let声明的变量作用域只在当前代码块{}中有效

let声明变量不存在提升,因此必须先声明变量后使用,否则报错

let声明变量不能重复

2.const

const声明的其实是一个只读常量,即声明必须赋值,不可修改,如果const声明的是一个对象的话,可以修改对象的成员,不能重新赋值一个新的对象

3.解构赋值

3.1.解构赋值的作用

1.函数参数默认赋值

//引用自阮一峰es6入门教程
jQuery.ajax = function (url, {
  async = true,
  beforeSend = function () {},
  cache = true,
  complete = function () {},
  crossDomain = false,
  global = true,
  // ... more config
} = {}) {
  // ... do stuff
};

2.函数返回多个值

//引用自阮一峰es6入门教程
// 返回一个数组

function example() {
  return [1, 2, 3];
}
let [a, b, c] = example();

// 返回一个对象

function example() {
  return {
    foo: 1,
    bar: 2
  };
}
let { foo, bar } = example();

3.交换变量

let [a,b] = [1,2];

[a,b] = [b,a];

4.提取json数据

//引用自阮一峰es6入门教程
let jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

let { id, status, data: number } = jsonData;

console.log(id, status, number);
// 42, "OK", [867, 5309]

5.遍历map

for (let [k, v] of map) {
  //...
}

4.字符串增强

1.字符串可使用for...of遍历

for(let o of "abcd"){
    console.log(o)
}

2.模板字符串

可以在模板字符串中引用js变量

let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`

3.新增方法

  • fromCodePoint(0x20BB7) // 可以识别0xFFFF以上的Unicode编码
  •  
  • includes():返回布尔值,是否包含子串。支持第二个参数,表示开始搜索的位置。
  • startsWith():返回布尔值,是否以子串开头。支持第二个参数,表示开始搜索的位置。例如:"abcdefg".startsWith("cd",2) //返回true
  • endsWith():返回布尔值,是否以子串结尾。支持第二个参数,表示开始搜索的位置。
  • repeat(): 返回一个新字符串,表示将原字符串重复n次。例如:"abc".repeat(2); //"abcabc"
  • trimStart(): 去除字符串头部空格
  • trimEnd(): 去除字符串尾部空格
  • replaceAll(): 替换全部

5.数值扩展

5.1Number

Number.isFinite() Number.isNaN() 这两个方法只对数值有效 

例如:

Number.isFinite('1'); //false

isFinite('1'); //true

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

Number.isInteger() 判断一个数值范围是否为整数

JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值

Number.isInteger(25) // true
Number.isInteger(25.0) // true

Number.isSafeInteger() //(-2^53, 2^53) 不含端点,用来判断一个整数是否落在这个范围之内 

5.2Math

Math.trunc方法用于去除一个数的小数部分,返回整数部分。

Math.trunc(2.2) // 2
Math.trunc('2.2') // 2
Math.trunc('') // 0
Math.trunc('a') // NaN

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

Math.sign(-1) // -1 负数
Math.sign(1) // +1 正数
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN

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

对数运算

指数运算

双曲运算

5.3BigInt 

长整数类型,没有长度限制

BigInt(22) //22n

 

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值