es6 字符串扩展

var s = '𠮷';
var s1 = '\ud842\uDFB7';
var s2 = '\u{20BB7}';

s1 === s2 //true

//js have 6 type express str
'\z' === 'z'
//   '\172' === 'z'
'\x7A' === 'z'
'\u007A' === 'z'
'\u{7A}' === 'z'

s.length = 2;
s.charAt(0) //'�'
s.charAt(1) //'�'
//charCodeAt
s.charCodeAt(0)
s.charCodeAt(1)
//codePointAt 用来处理4个字节的字符,返回一个字符的码点
var s = ' 𠮷 a'
s.codePointAt(0)  //32
s.codePointAt(1)  //134071
s.codePointAt(2)  //57271
s.codePointAt(3)  //32
s.codePointAt(4)  //97
s.codePointAt(5)  //undefined

//String.fromCodePoint()   返回字符串
var text = String.fromCodePoint(0x20BB7) //"𠮷"

//字符串的遍历器接口
for (var s of 'foo'){console.log(foo)}
// f
// o
// o
for(var i = 0 ; i < text.length; i++){
  console.log(text[i]);
}
////
for (let i of text){
  console.log(i)
}

text.at(0)  //代替code

//normalize() pass

//includes(),startsWith(),endsWith()
var str = 'Hello world'
str.startWidth('world',6) //true
str.endsWith('Hello',5) //true
str.includes('Hello', 6)  //false

//repeat
str.repeat(3) //"Hello worldHello worldHello world"

//padStart()    padEnd()
'x'.padStart(5,'a')
'x'.padStart(3,'a')

'x'.padEnd(5, 'a')
'x'.padEnd(3, 'a')

 字符串模板

//模板字符串
var a = 'world';  //如果用let会报错,下面会报错
var b = `hello ${a}`

//普通字符串
var normal = `aaaaa '\n' bbbbbbb`;
//多行字符串
var multiLine = `aaa
adfadf
afdasdfa
afdadfadf`;

//数值计算
var a = 1, b = 2;
console.log(`${a} + ${b} = ${a+b}`);

function getStr(){
  return 'dashacha'
}

console.log(`gunduzi ${getStr()}`)

转化成普通字符串

String.raw = `test Raw
\ run
''
""
//
`

 

 

posted on 2017-04-14 16:01  宝清老窖  阅读(121)  评论(0编辑  收藏  举报