ES6第一篇

时间:2023-12-09 13:36:07
 //新的数字方面的方法
const I = 3.4893589;
console.log(Number.parseInt(I));
console.log(Number.parseFloat(I));
console.log(Number.isInteger(I));//是否为整数
console.log(Math.trunc(I)); //去除一个数的小数部分
//Math.sign方法用来判断一个数到底是正数、负数、还是零。
var val = Math.sign(I);
switch (val){
case -1:
console.log("负数");
break;
case 1:
console.log("正数");
break;
case 0:
console.log("零");
}
console.log(process.versions);

字符串相关新增的方法

 //字符串的新增的方法
var s = 'Hello world!';
console.log(s.startsWith('Hello'));// true
console.log(s.endsWith('!'));// true
//是否包含
console.log(s.includes('o'));// true
//如果repeat的参数是负数或者Infinity,会报错。
var s2 = s.repeat(2);
console.log(s2); // 字符串中嵌入变量
var name = "Bob", time = "today";
function getName(){
return "lee";
}
console.log(`Hello ${name}, how are you ${time}?`);
console.log(`hi,my name is ${getName()}`);

解构赋值

//块级作用域的写法
{
let temp = "one";
}
//console.log(temp); // undefined //块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
{
function f(){console.log("test");}
let a = "test";
if(true){
function f(){console.log("let's go");}
}
f();
}
//解构赋值
var [a = 1] = [];
console.log(a); //1: 解构赋值允许指定默认值
var [b = 2] = [null]; //b = null; [只有赋的值不全等于undefined时,默认值不会生效]
var [c = 2] = [undefined]; //c = 2
// 对象的解构赋值 【对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,
变量的取值由它的位置决定;】
// 【而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。】
var d = {code: 0, message: "记住了", data: null};
var {code, message, data} = d; //两边的名称要求相互对应
console.log(code);
console.log(message);
console.log(data); const HTML = '<h1>测试</h1>';
console.log(HTML);
//HTML = "TEST"; // //字符串的解构
var [h,e,l ,o] = 'test';
console.log(h);
console.log(e);
console.log(l);
console.log(o); //解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。
//由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错
let {toString: k} = 123;
//k === Number.prototype.toString // true let {toString: n} = true;
//n === Boolean.prototype.toString // true console.log(k);
console.log(n);