chapter3の続き

全部書いているとキリがないし、ただの丸写しみたいになるので気になったところだけを抜粋

Stringオブジェクト

lengthプロパティは日本語も1文字としてカウントするが特殊な例外の場合がある。

一部の文字を4バイトで表現しているため、2文字のように見えてlengthで文字数をとると、3と表示されてしまう。

教本では叱るが例題にあったが、実行してみたら2だった。

なので代わりを

var msg = '𩸽は';  

console.log(msg.length);  
//3  

なんて読むのだろうか?

こういうこともあると頭に入れておく

Numberオブジェクト

仕事でJavaScriptを使用したらコレが出てきたので書いておく

NaN

nullみたいなもんかと思ったけど調べてみると、自分自身を含む全ての数値と等しくないものだそうだ

console.log(Number.NaN === Number.NaN)  
//false  

Symbolオブジェクト

Symbolはシンボルを生成するための型。文字列に似ているが文字列ではない。

let sym1 = Symbol('ps4');  
let sym2 = Symbol('ps4');  

console.log(typeof sym1); //symbol  
console.log(sym1.toString()); //Symbol(ps4)  
console.log(sym1 === sym2); //false  

同名であっても一意になるので定数の値としてシンボルを利用する

Arrayオブジェクト

配列ですね

Mapオブジェクト

連想配列を管理するためのオブジェクト

サンプルコード

let m = new Map();  
m.set('ps4', 'ソニー');  
m.set('XBOX ONE', 'マイクロソフト');  
m.set('switch', '任天堂');  

console.log(m.size); //3  
console.log(m.get('switch')); //任天堂  
console.log(m.has('ps4')); //true  

for(let[key, value] of m){  
console.log(value);  
}  
//ソニー、マイクロソフト、任天堂  

オブジェクトリテラルとの違い

  • 任意の型でキー設定ができる
  • マップのサイズを取得できる
  • クリーンなマップを作成できる オブジェクトリテラルを作成した時点で、すでに空ではない。それに対しMapオブジェクトは完全に空の連想配列を作れる

    一旦break

  • 関連記事

    この記事へのコメント

    まだコメントはありません
    +1
    0
    @mSbKMsGcWXIdgHPWの技術ブログ
    このエントリーをはてなブックマークに追加