字符串新增特性:
Unicode的讲解:
console.log('a',`u0061`);//unicode的表示法 let a = 'a你好bq4'; console.log(a[2],a.codePointAt(2));//十进制码值 console.log(a[2],a.codePointAt(2).toString(16));//十六进制码值 let b = '好'; console.log(b[0],b.codePointAt(0));//十进制码值 console.log(b[0],b.codePointAt(0).toString(16));//十六进制码值 let c= '0x597d'; console.log(String.fromCodePoint(c));//知道码值获取结果
let str= 'u597d';
console.log(str)//好
字符串中的部分方法:
let str = '小明今年3岁'; console.log(str.includes('6'));//判断字符串中指定字符是否存在 存在返回true 否则返回false console.log(str.startsWith('小明今'));//判断字符串中是否以指定字符为起始 是返回true 否则返回false console.log(str.endsWith('3岁'));//判断字符串中是否以指定字符为结尾 是返回true 否则返回false console.log(str.repeat(2));//重复字符串指定次数
//两个补白的方法 console.log('1'.padStart(2,'0'));//前补白 01 console.log('1'.padEnd(3,'0'));//后补白 100
模板字符串的基本用法:
let name = "小明"; let age = 16; let hobby = "打游戏"; //模板字符串使用是变量需要用 ${ } 包起来 let str = `${name}今年${age}岁,他平时最喜欢${hobby}`; console.log(str)
变量中的基本使用:
let Person = { name : '小明', age : 25, hobby : '打篮球' } let str = `${Person.name}今年${Person.age}岁,他平时最喜欢${Person.hobby}`; console.log(str)
标签模板:处理多语言转换的时候使用
let user = { name : '小明', age : 16 } console.log(abc`我叫${user.name}今年${user.age}`); function abc(s,...value){ //第一个参数为非指定值内容的组合 第二个参数开始依次为指定的值 return [s,value]; } //结果 [ ["我叫","今年",""],"小明",16 ]
数值的拓展:
数值的部分方法:
//判断一个数是否是无限小数 是返回true 不是返回false console.log(Number.isFinite(10/3))//true只是严格的判断传入的参数是否全等于NaN( '测试' === NaN) //判断一个数是不是一个整数 是返回true 不是返回false console.log(Number.isInteger(1.1))//false console.log(Number.isInteger(1.000))//true //isNaN 和 Number.isNaN的区别 //isNaN会通过Number方法转换传入值的类型 转换失败返回true //Number.isNaN只是严格的判断传入的参数是否全等于NaN( '测试' === NaN) console.log(isNaN('看到')) // true console.log(Number.isNaN('5')) //false //取整数部分 console.log(Math.trunc(5.5));// 返回 5 //判断传入的参数是正数 0 还是负数 会进行 Number 转换 console.log(Math.sign('5'));// 返回 1 console.log(Math.sign(0));// 返回 0 console.log(Math.sign(-5));// 返回 -1 console.log(Math.sign('hello'));// 返回 NaN