【转】ES6之变量常量字符串数值
ECMAScript 6 是 javascript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015。
ES6对数据类型进行了一些扩展
在js中使用ES6必须先声明 严格模式 "use strict"
let变量
let特性:
1、不允许重复声明
2、没有预解析。
3、块级作用域
一对{}包括的区域称为代码块
块级作用域指一个变量或者函数只在该区域才起作用。
例:
"use strict" for(let i=0;i<10;i++){ setTimeout(function(){ console.log(i); }) } for(var i=0;i<10;i++){ setTimeout(function(){ console.log(i); }) }
从块的开始到声明这段的区域 称为 暂存死区 (与预解析相似)
const常量
在定义之后值是固定不变的,即为常量
常量的值不能修改,但是如果常量保存的是一个对象,那么对象的属性是可以被修改的。
例:
"use strict" const a = 1; a = 2; console.log(a); const b = { name:‘bbbb‘ }; b.name = ‘ccccc‘; console.log(b.name);
解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
数组的解构赋值:
var []按照对应的顺序解构。
对象的解构赋值:
var {}按照对象里的名称解构
例:值的交换
"use strict" var y = 1; var x = 2; var [x,y] = [y,x]; console.log(x,y);
字符串的扩展
对四个字节的字符进行操作
"use strict" var str = ‘??‘; str.at();//返回对应位置的字符 console.log(str.codePointAt(0))//返回码点 console.log(String.fromCodePoint())//根据码点返回字符 str.repeat(int);//将字符串赋值int次
模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
代码中的字符串用反引号(`)表示,如果需要引入变量则使用${变量名}, 在{}中可以进行运算,也可以引用对象属性。与php中的操作类似
"use strict" var name =‘aa‘; var age = 21; var str = `The name is :${name}The age is :${age}`; console.log(str);
字符串方法:
str.includes() 返回布尔值,表示是否找到了参数字符串
参数:
1、要查找的字符串
2、起始位置
str.startsWith() 返回布尔值,表示参数字符串是否在源字符串的头部。
参数:
1、要查找的字符串
2、起始位置
str.endsWith() 返回布尔值,表示参数字符串是否在源字符串的尾部。
参数:
1、要查找的字符串
2、起始位置(针对的是n个字符)
数值的扩展
var num = 0b13; //二进制写法 var num = 0o11; //八进制写法 console.log(Math.trunc(1.1234)) //干掉小数点及后面数字 保留前面整数 console.log(Math.sign(-0)); //判断参数是正数、负数、正0还是负0 console.log(Math.hypot(3,4)) //返回所有参数的平方和的平方根(勾股定理)