1 //字符串扩展 2 { 3 console.log('a','\u0061'); 4 console.log('s','\u20BB7');//超过了0xffff 5 6 console.log('s','\u{20BB7}');//如果超过就用{}包裹 7 8 } 9 { 10 //es5中 11 let s='𠮷'; 12 console.log('length',s.length);//length 2 13 console.log('0',s.charAt(0));//0 � 14 console.log('1',s.charAt(1));//1 � 15 console.log('at0',s.charCodeAt(0));//at0 55362 16 console.log('at1',s.charCodeAt(1));//at1 57271 17 18 //es6中 19 let s1='𠮷a'; 20 console.log('length',s1.length);//length 3 21 console.log('code0',s1.codePointAt(0));//code0 134071 22 console.log('code0',s1.codePointAt(0).toString(16));//code0 20bb7 23 console.log('code1',s1.codePointAt(1));//code1 57271 24 console.log('code2',s1.codePointAt(2));//code2 97 25 } 26 27 { 28 console.log(String.fromCharCode("0x20bb7"));//ஷ 29 console.log(String.fromCodePoint("0x20bb7"));//𠮷 30 } 31 { 32 let str='\u{20bb7}abc'; 33 for(let i=0;i<str.length;i++){ 34 console.log('es5',str[i]); 35 //es5 � 36 //es5 � 37 //es5 a 38 //es5 b 39 //es5 c 40 } 41 for(let code of str){ 42 console.log('es6',code) 43 //es6 𠮷 44 //es6 a 45 //es6 b 46 //es6 c 47 } 48 } 49 { 50 let str="string"; 51 //includes,判断是否包含字符串('x') 52 console.log('includes',str.includes('r')); 53 console.log('includes',str.includes('c')); 54 //startsWidth,判断是否('xx')字符串起始 55 console.log('start',str.startsWith('str')); 56 //endsWith,判断是否('xx')字符串结尾 57 console.log('end',str.endsWith('str')); 58 } 59 { 60 let str="abc"; 61 //字符串的复制(x),x次数 62 console.log(str.repeat(2));//abcabc 63 } 64 //字符串模板内容,拼接 65 { 66 let name="list"; 67 let info="hello world"; 68 let m=`i am ${name},${info}`; 69 console.log(m);//i am list,hello world 70 } 71 72 { 73 //向前补,一共两位,(位数,补的字符) 74 console.log('1'.padStart(2,'0'));//01 75 //向后补,一共两位,(位数,补的字符) 76 console.log('1'.padEnd(2,'0'));//10 77 } 78 //标签模板 79 //1.过滤字符串的时候,防止攻击的时候 80 //2.多语言转换 81 { 82 let user={ 83 name:'list', 84 info:'hello world' 85 }; 86 console.log(abc`i am ${user.name},${user.info}`); 87 function abc(s,v1,v2){ 88 console.log(s,v1,v2); 89 return s+v1+v2; 90 } 91 } 92 93 { 94 //String.raw可以不转义\n 95 console.log(String.raw`Hi\n${1+2}`);//Hi\n3 96 console.log(`Hi\n${1+2}`); 97 //Hi 98 //3 99 }