-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
String #121
Comments
|
#106 はどうなりますかね? |
まだどうするか考え中な感じですが、StringとArrayを並べて考えようとしてます。 似ている部分としては、追加、削除、探索(indexOf、includes)など 異なる部分として、プリミティブと参照型だったり色々ありますが、 ただ、ちゃんと扱おうと思うとJavaScriptの標準APIでは微妙に足りない感じがするのでどこまで踏み込むかが微妙な感じです… というのをArrayのコード例を色々書いていて思った感じです。 #49 |
Tagged Templateの課題で、safe property access とか結構面白いかもと思った(処理を限定させれば結構シンプルに書けるかも) |
|
テンプレートリテラル ここに含めると微妙に関数が先にあって欲しいみたいなことがおきるんだな。 テンプレート文字列の概念をまとめると
という関係になるはず。 @laco0416 ↑の表記に統一かな? (個人的にはTemplate literalとかそのまま使うの好きだけど、中途半端になりそうだし)
|
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/slice String#slice と String#substring ってどういう理由で2つあるんだろ? |
sliceとsubstringの違いを出すには |
https://github.com/asciidwango/js-primer/blob/master/source/OUTLINE.md#string |
タグ付きテンプレートの典型的なユースケースはやっぱりHTMLエスケープなのかな。 |
Unicode周り 詳しくはMathiasさん参照みたいな感じになるかなー 多くのケースでは直にこの問題を扱わないで、事前に正規化を書けて扱いやすくしたものを扱うはずなので、普通にプログラミングする範囲では知りたいときに調べる感じになるものだと思う。 combining marksはString#normalizeで正規化できないので、正しく説明するのが単純に難しい感じ。 code unit, code pointあたりは、JavaScriptのAPIとして扱う方法が存在するので、APIを使いつつ説明できる範囲にしておくのがちょうどいい感じかなと思った。 |
いや、Unicodeを真面目に考えれば、正規化なんて甘えで、ひとつのコードポイントで一文字を表そうとするのが傲慢ということでは・・・。たまたま等価な(等価の定義がまた面倒)コードポイントひとつに変換できる場合の変換が正規化なのであって。
あ・・・ |
いつも忘れるのでメモ。 var str = "x\uD83D\uDE80y";
console.log("\\u" + str.codePointAt(0).toString(16));
console.log("\\u" + str.codePointAt(1).toString(16));
console.log("\\u" + str.codePointAt(3).toString(16));
// code unit
console.log("\\u" + str.charCodeAt(0).toString(16));
console.log("\\u" + str.charCodeAt(1).toString(16));
console.log("\\u" + str.charCodeAt(2).toString(16));
console.log("\\u" + str.charCodeAt(3).toString(16)); |
StringとRegExp 改めて仕様読んでてたけど、関係がもっと深いな。 https://tc39.github.io/ecma262/#sec-properties-of-the-regexp-prototype-object "ab".split(/a*?/)
/a*?/[Symbol.split]("ab") みたいにかける |
#183 これを書き直すといいのかも。 |
String#split
|
Java @ プログラマのための文字コード技術入門より |
文字列の比較https://github.com/asciidwango/js-primer/blob/master/source/OUTLINE.md#string
|
String.prototype.localeCompare() - JavaScript | MDN i18nのcompareもそういえば今なら使えるのか。 |
文字列比較の
なので、code unitが同じ並びになっていて同じ長さかというもの |
C#とかSwiftでのUnicode周りの話 |
http://qiita.com/teyosh/items/b126f21a16b795885067#intlcollator |
配列の場合は特定の要素を探すということをするが、文字列から特定の文字1つを探すということはあまりしない。 代わりに特定の文字の並びを探すということを行うため、その文字集合へのマッチ方法が重視されることが多い。そこで役立つのが文字集合を特殊文字として表現できる正規表現。 StringとRegExpは内部的に同じ処理を共有しているため、別のオブジェクトではあるがとても密接な存在である。 |
Jonathan New | "💩".length === 2 ❤️ のlengthの例 |
カスタムタグテンプレート インデント消すやつとか、正規表現も混ざって面白いかも stripIndent`
class YourStore extends Store {
getState(){
return {
yourStore: this.state
};
}
}
`; |
i18nタグがいいかも? |
文字単位の分割i18n APIの分かち書きでできるのかなー。 |
javascript - JavaScriptで絵文字の正確な長さを取得する - スタック・オーバーフロー |
Regular Expressions in a post-ES6 world |
#225 構造的な文字列 = ドメイン固有言語的な表現にしたほうがいいかも。 |
テンプレートリテラル周りの用語整理
8. Template literals 過去の仕様だとTemplte Stringが違う名前だったりしてややこしいけど、これであってるのかな? |
zeeshanu/learn-regex: Learn regex the easy way 正規表現について簡単にまとまっててよさそう。 |
#17 基本文法
Stringオブジェクト
The text was updated successfully, but these errors were encountered: