zyoryzyory diary

インターネットのあれこれをつぶやきます。

JavaScriptチャレンジ2日目

さてさて、基礎的な文法も架橋に差し掛かってまいりました。

プログラミング言語の文法を学習していて強く思うのは、どの言語も心底似ているなぁとシミジミ思います。


ちょっと健忘録。
通常、Unicode(UTF-8)は、日本語を含め、2バイトで表現されているのですが、日本語は漢字が多く、2バイトで表現できる文字数が6万5千ちょっとしかないため、割当からあぶれてしまった文字くんがいます。


表現できなくては困ってしまうので、1文字を4バイト換算して、文字数を拡張するようになったみたいです。
これをサロゲートペアというのです。


ふむふむ、2バイト文字と4バイト文字だと具体的には何か困ることがあるのでしょうか?

var str = "𩸽うまい"; 
var num = str.length;
console.log(num);
// 5


ホッケという漢字が、サロゲートペア文字列なので4バイトで表現されています。
lengthメソッドは2バイトごとに1増加するので、𩸽1文字で2増加してしまっています。
正しく文字数を取得したい時には不便そうですね。


解決策としては、下記のようにして、サロゲートペアをUnicodeで登録されている16進数の値から見つけ出して、全体から引いてあげれば、正しい文字数を取得することが出来るようです。

var str = "𩸽うまい";
var num = str.length;
var sum = str.split(/[uD800-\uDBFF][\uDC00-\uDFFF]/g).length - 1;
console.log(str.length - sum);
// 4


本日のJavaScriptチャレンジはDOMオブジェクトを使って、HTMLからid要素を取得して、組み込みオブジェクトのDateを使用して、現在時刻の取得を実装してみました。まだまだ、基礎的なところを抜け出せておらず、ショボい作品ですが、どんどん成長していきたいとおもいます(^o^)

See the Pen js 2/100 by zyory (@zyoryzyory) on CodePen.

JavaScriptチャレンジ1日目

こんばんは!

JavaScript100チャレンジ1日目ということで、今日は文法書の勉強をたくさんしました。じつはDOM要素についてはまだ学習していないのですが、日々成長していけるよう、簡単なコードを書きました。

 

内容はとても簡単なんですが、html要素をquerySelectorで取得してきて、そのテキストを書き換えるという命令をしているわけですね。

 

JavaScriptから文章を送るということにあまり慣れていないため、たくさん勉強の余地があるな、と感じさせてくれました。

 

あんまりしゃべりは上手くないので、コードで語れるようにがんばりまーす:D

See the Pen js 1/100 by zyory (@zyoryzyory) on CodePen.

自称学生エンジニアがアルバイトの技術面接に落ちたのでJavaScriptで100サイト作る。

口だけが一人前な若者

 

僕はプログラミングができます。プログラミングスクールのメンターをしています。そうですね、フロントエンドは特に得意です。一番理想的な自分の将来像は、初心者にプログラミングの楽しさを教えることですかね。

 

 

 

 

えっと。。。

過去に戻りたい・・・。

そんなはずはないんだ、そんな得意げに語らないでくれ。恵比寿のおしゃれなお店でご飯を御馳走になっている、そのテンションでホラを吹かないでくれ・・・。書けはしないんだ、CSSでさえ、ゼロから書けはしないんだ。

 

 

 

だってその正体は、コピペプログラマーなんだから:D

 

 

 

 

いろいろ本を漁って学んではみたものの、なにこれすごい!驚き!→コレ知ってる の箱がたくさん積み上がった頭の中に、ゼロからコードを書くという習慣はまったくなかったのです。これは由々しき事態です。

 

 

 

ということでJavaScriptをバリバリ書いて、"書ける"引き出しをたくさん増やす。

 これが今後のブログ方針です。

 

 

ルール設定

 

  1. 3日に1サイトのペースで更新する。
  2. コピペ禁止(笑)
  3. 参考にしたサイトがあれば載せて、知見などを健忘録として残す。

 

 

たくさんのルールを敷くことは簡単ですが、継続的に実行するのはとても難しいことです。

 

上記3点が最低限守るべきルールとして設定しています。

なお、更新曜日は 月曜日・木曜日とします。

 

 

よし、それでは気合を入れまして!

 

やり抜く力を養うぞ!!!!!!!