es6中常用的语法(1)

本文详细介绍了ES6中的几个关键特性:let和const替代var的优势,包括无变量提升、不允许重复声明及块级作用域;解构赋值的使用方式及默认值设定;Number对象的拓展,如isFinite(), isNaN(), parseInt(), parseFloat()和isInteger()方法;以及函数参数默认值和箭头函数的用法。这些内容深入浅出,帮助开发者更好地理解和运用ES6。
摘要由CSDN通过智能技术生成

es6中常用的语法(1)

1、let 和 const

	一般情况下不会使用var  都是用 let 和 const 代替。
对比 var 来说,let和const的优点:
	1、没有变量提升
	2、不允许重复声明
	3、有块级作用域
	4、存在暂时性死

变量提升是什么?简而言之就是变量可以在声明前使用,但是值为undefined。

1、
  console.log(a) // undefined
  var a;
  console.log(b) //报错 Cannot access 'b' before initializatio
  let b; 
2var a = 2;
  var a = 3;
  console.log(a); // 3
  let b = 2;
  let b = 3;
  console.log(b);  // Identifier 'b' has already been declared
3、使用let命令声明变量之前,该变量都是不可用的 意味着 typeof 是不准确的;
4var tmp = 123;
 if (true) {
    console.log(tmp);
    let tmp;   
 }

2、解构赋值

1、解构赋值必须满足左右一一对应才可以成功

let [a, [[b], c]] = [1, [[2], 3]];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
let {d, e} = {d:'aa', e:'bb'}
console.log(d); // 'aa'
console.log(e); // 'bb'

2、可以使用默认值

let [a = '1', b] =[undefined, 2]
console.log(a) // '1'
console.log(b) // 2
let {c = 2, d} = {d:'22'}
console.log(c) // 2
console.log(d) // '22'

3、字符串的结构赋值

const [a, b, c, d] = 'hello';
console.log(a); // h
console.log(b); // e
console.log(c); // l
console.log(d); // l

类似数组的对象都有一个length属性
let {length:len} = 'hello'
console.log(len) // 5

3、数值的拓展

1、Number.isFinite() 用来检查一个数值是否为有限的。
  Number.isFinite(15); // true
  Number.isFinite(0.8); // true
  Number.isFinite(NaN); // false
  Number.isFinite(Infinity); // false
  Number.isFinite(-Infinity); // false
  Number.isFinite('foo'); // false
  Number.isFinite('15'); // false
  Number.isFinite(true); // false
2、Number.isNaN() 用来检查一个值是否为NaN。
  Number.isNaN(NaN) // true
  Number.isNaN(15) // false
  Number.isNaN('15') // false
  Number.isNaN(true) // false
  Number.isNaN(9/NaN) // true
  Number.isNaN('true' / 0) // true
  Number.isNaN('true' / 'true') // true
3、Number.parseInt() String转为number类型(整数)。
	Number.parseInt('12.34') // 12
4、Number.parseFloat() String转为number类型(浮点数)。
	Number.parseFloat('12.112111#12') //12.112111
5、Number.isInteger()用来判断一个数值是否为整数。
	Number.isInteger(25) // true
	Number.isInteger(25.1) // false	
	Number.isInteger(25.0) // true
  Number.isInteger() // false
  Number.isInteger(null) // false
  Number.isInteger('15') // false
  Number.isInteger(true) // false

4、函数的拓展

1、参数可以添加默认值
  function log(x, y = 2) {
    console.log(x, y);  // 1, 2
  }
  log(1);
2、箭头函数( () => {} )
	let f = () => 5;
  // 等同于
  let f = function () { return 5 };
	//如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。
	let sum = function(num1, num2) {
    return num1 + num2;
  };
	//如果箭头函数直接返回一个对象,必须在对象外面加上括号。
	let getTempItem = id => ({ id: id, name: "Temp" });// 不报错
	let getTempItem = id => { id: id, name: "Temp" };// 报错
	// 箭头函数的注意点
    // 箭头函数没有自己的this对象
		箭头函数的this指向是使用箭头函数的方法的this
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值