ES也是一门脚本语言,一般看做JavaScript的标准化规范,实际上JavaScript是ECMAScript的扩展语言
ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)segmentfault
JS在浏览器环境下,JS = WEB + ES数组
JS在Node环境下 JS = Node + ES浏览器
版本迭代安全
文章入口数据结构
文章入口函数
ES2015为字符串添加了Iterator。因此字符串能够for...of..
遍历
模板字符串this
传统字符串不支持换行 \nspa
const str = `hello es2015 this is made in China` console.log(str); //会输出空行 const name = "tom" const msg = `hello ${name}` //插值表达式 console.log(msg);
标签模板翻译
//模板字符串前能够添加标签,是个方法 ["hello world"] const tag = console.log`hello world`
const n = "mcgee" const bol = true function myTagFnc(arr,n,bol){ //参数为静态内容,插值,插值... console.log(arr,n,bol); //['hey,','is a','.'] 静态内容的分割 //标签的做用,对值进行加工 const sex = bol?"man":"woman" // return 123 return arr[0]+n+arr[1]+sex+arr[2] } const result = myTagFnc`hey,${n} is a ${bol}.` console.log(result); //123 || hey,mcgee is a true || hey,mcgee is a man
对插值进行加工。文本的多语言化,翻译成中英文。检查模板字符串内的不安全字符code
const msg = 'Mcgee is a man' console.log(msg.startsWith("Mcgee")) //true console.log(msg.endsWith("n")); //true console.log(msg.includes("is")); //true
'na'.repeat(0) // "" 'na'.repeat(2.9) // "nana" 'na'.repeat(Infinity) // RangeError 'na'.repeat(-1) // RangeError //若是repeat的参数是字符串,则会先转换成数字。 'na'.repeat('na') // "" 'na'.repeat('3') // "nanana"
Number.isInteger(25) // true Number.isInteger(25.0) // true Number.isInteger(25.1) // false Number.isInteger() // false Number.isInteger(null) // false Number.isInteger('15') // false Number.isInteger(true) // false