摘要:字符的表示法中允許采用的形式表示一個字符,其中表示字符的碼點。如下這種表示有區間只能在之間,如果超出則需要用雙字節的的形式表示在中,對字符串的寫法做出了改變。
1. 字符的 Unicode 表示法
Javascript 中允許采用 uxxxx的形式表示一個字符,其中xxxx表示字符的Unicode碼點。如下
"u0061"
這種 表示有區間 只能在 0000 ~ FFFF之間,如果超出則需要用雙字節的的形式表示
"u20BB7uDFB1"
在ES6中,對字符串的寫法做出了改變。改為將碼點放入大括號中,就能正確讀取該字符,如下:
"u{20BB7}" // 吉2. codePointAt()
Javascript內部,字符以 UTF-16的格式存儲,每個字符固定為2個字節。對于需要4個字節儲存的字符,JavaScript會認為它們是兩個字符。如下:
var s = "吉" s.length // 2 s.charAt(0) // "" s.charAt(1) // "" s.charCodeAt(0) // 55362 s.charCodeAt(1) // 57271
上面代碼中漢字吉 需要4個字節存儲,但是JavaScript不能正確處理,字符串長度誤判為2,而且charAt 方法無法讀取字符,charCodeAt 只能返回前面兩個字節和后面兩個字節的值,ES6 提供了 codePointAt 方法能夠正確處理4個字節存儲的字符,返回一個字符的碼點,如下:
let s = "吉a"; s.codePointAt(0) // 134071 s.codePointAt(1) // 57271
codePointAt() 方法是測試一個字符由兩個字節還是四個字節組成的最簡單的方法3. String.fromCodePoint()
ES5 提供了 String.fromCharCode 方法 用于從碼點返回對應字符,但是不能識別32位的UTR-16字符,ES6提供了 Sring.fromCodePoint() 方法 可以識別大于32位的。如果有多個參數則將合并。如下:
String.fromCodePoint(0x20BB7) // "
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103691.html
摘要:循環遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數組,包含對象自身的所有屬性的鍵名。目前,只有對象方法的簡寫法可以讓引擎確認,定義的是對象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量和函數,作為對象的屬性和方法,使得代碼的書寫更為簡潔。...
摘要:屬性的簡潔表示法在中允許直接寫入變量和函數,作為對象的屬性和方法,使得代碼的書寫更為簡潔。循環遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數組,包含對象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量...
摘要:正則的擴展參數為字符串,那么第二個參數表示正則表達式的修飾符,如下等價于參數為一個正則表達式,這時返回一個原有正則表達式的拷貝。如下調用調用調用調用修飾符對正則表達式添加了修飾符,用來正確處理大于的字符。 showImg(https://segmentfault.com/img/bVbrJqm?w=800&h=1200); 1. 正則的擴展 參數為字符串, 那么第二個參數表示正則表達式...
showImg(https://user-gold-cdn.xitu.io/2019/5/22/16adcec448a45d82); 1. Object.is() 用來解決在ES5中 兩種相等運算符的缺點。用來比較兩個值是否嚴格相等,行為和(===)基本一致。 在ES5中判斷兩個值是否相等,只能用(==)相等運算符和(===)嚴格相等運算符,但是這兩貨都有缺點,前者 兩邊的值都會轉換數據類型,...
閱讀 1923·2021-10-11 10:59
閱讀 1032·2021-09-07 09:59
閱讀 2226·2021-08-27 16:17
閱讀 2783·2019-08-30 15:54
閱讀 2274·2019-08-30 12:58
閱讀 1773·2019-08-30 12:53
閱讀 1465·2019-08-28 18:13
閱讀 733·2019-08-26 13:35