es6對字串新增了很多方便的功能,下面我們可以逐一來看一下。
1.字串格式化
將表示式嵌入字串中進行拼接。用${}來界定。
//es5
var name = 'will'
console.log('hello' + name)
//es6
var name = 'will';
console.log(`hello $`)
2.includes:判斷是否包含然後直接返回布林值
const str = 'will'
console.log(str.includes('y')) //true
3.repeat:獲取字串重複n次
const str = 'he'
console.log(str.repeat(3)) //'hehehe'
如果你帶入小數,則按照math.floor(num)來處理
也就是s.repeat(3.1)-s.repeat(3.9)都按照3來處理
4.startswith 和 endswith 判斷是否以 給定文字 開始或者結束
const str = 'will is so cool!'
console.log(str.startswith('will')) //true
console.log(str.endswith('!')) //true
5.padstart 和 padend 填充字串,應用場景:時秒分
setinterval(() => :$:$`)
}, 1000)
常用的就這五個,如果有用到新的,我再新增。
然後來兩道小測試題搞一下。
let address = '北京海淀區'
let name = 'lala'
let str = '$在$上班...'
// 模擬乙個方法 mytemplate(str) 最終輸出 'lala在北京海淀區上班...'
function mytemplate(str)
console.log(mytemplate(str)) // lala在北京海淀區上班...
const name = 'cc'
const gender = 'male'
const hobby = 'basketball'
// 實現tag最終輸出 '姓名:**cc**,性別:**male**,愛好:**basketball**'
function tag(strings)
const str = tag`姓名:$,性別:$,愛好:$`
console.log(str) // '姓名:**cc**,性別:**male**,愛好:**basketball**'
es5中,給函式定義引數預設值。
function action(num)
但es5乙個特別坑爹的地方就是,當我們num傳入0的時候,es5會自動把他識別為false,這和我們實際的需求相背而馳,這個時候我們es6就粉墨登場了。
es6為引數提供了預設值。在定義函式時便初始化了這個引數,以便在引數沒有被傳遞時使用。
function action(num = 200)
action(0) //0
action() //200
action(300) //300
箭頭函式
我記得前段時間在面試東科電力的時候,面試老哥問我,普通函式和箭頭函式的區別,我幾乎脫口而出說寫法簡單了,那老哥一下子就笑了。我至今也沒明白他到底是為啥笑,人有魅力真是一件令人困擾的事情。
言歸正傳,我們來看一下箭頭函式最直觀的三個特點。
1.不需要function關鍵字來定義函式
2.省略return關鍵字
3.繼承當前上下文的this關鍵字
[1,2,3].map(x => x + 1)
//等同於
[1,2,3].map((function(x)).band(this))
說個小細節。
當你的函式有且僅有乙個引數的時候,是可以省略掉括號的。當你函式有且僅有乙個表示式的時候可以省略{}和 return;例如
var people = name => 'hello' + name
作為參考
var people = (name,age) =>
這個因為傳入了兩個引數 缺少()或者{}都會報錯。
來,老鐵,整道測試題吧。
// 請使用es6重構以下**
var calculate = function(x, y, z)
if (typeof y != 'number')
var dwt = x % y
var result
if (dwt == z)
if (dwt != z)
return result
}
const calculate = (x,y,z) =>
ES6學習筆記 字串擴充套件
這三個方法都支援第二個引數,表示開始搜尋的位置。var s hello world s.startswith world 6 true s.endswith hello 5 true s.includes hello 6 false返回乙個新字串,表示將原字串重複n次 x repeat 3 hell...
字串的擴充套件 ES6學習筆記
1.字串的遍歷器介面 es6為字串新增了遍歷器介面,使得字串可以被for of迴圈遍歷。字串的遍歷 for of與for迴圈的區別 for of可以識別大於0xffff的碼點,for迴圈無法識別大於0xffff的碼點。let text string.fromcodepoint 0x20bb7 for...
ES6模板字串
es6提供了模板字串使字串的拼接以及模板的編寫變得特別簡單,組合字串的時候不在需要加號單引號這些,直接使用一對反引號即可,而且字串中需要變數的時候直接 的這種方式,大括號裡面可以是任何的js表示式,變數,物件的屬性,還可以是乙個函式,模板字串還可以進行巢狀。const person lili con...