L'Isola di Niente
L'Isola di Niente » JavaScript Tips » JavaScript 覚書

JavaScript 覚書

Safari, Google Chrome, Gjs, jjs, osascript 全て共通の関数等。

2016.05.08 追記

文字列操作
const STR = "漢字も一文字として扱われます";

var a = STR.slice(3, 6);     // (開始位置 ,終了位置)
var c = STR.substring(3, 6); // (開始位置 ,終了位置)
var b = STR.substr(3, 3);    // (開始位置 ,切り出す長さ)

//print(a, b, c);
//console.log(a, b, c);
//document.write(a, b, c);

//=> 一文字 一文字 一文字


// 開始文字、終了文字を調べる
var s = ".dot.file.conf";
if (s.indexOf(".") == 0)
    print("ドットファイルです");

s = "バック~アップ.txt~";
if (s.substr(s.length - 1, 1) == "~")
    print("バックアップファイルです");


// 変換
var str = "文字列をUTF-8に";
var utf8str = unescape(encodeURIComponent(str));
var utf16str = decodeURIComponent(escape(utf8str));

配列と連想配列
// 配列、Python の append は push
var array = ["YAMAHA", "HONDA", "SUZUKI"];
// 追加
array.push("KAWASAKI");
// 書き換え
array[0] = "BMW";
// 削除
array.splice(1, 1);
// 要素数
print(array.length);
// ループ
array.forEach(function(element) {
    print(element);
});



// 連想配列、Python とほぼ同様
// キーはクォーテーションで囲まなくても問題ない
var map = {"TOYOTA": "LEXUS", "HONDA": "ACURA"};

// 追加
map["NISSAN"] = "DATSUN";

// 書き換え
map["HONDA"] = "Super Cub";

// 削除、但し undefined になるだけで要素数は減らない
// map.delete("TOYOTA"); はまだ使えない
delete map["TOYOTA"];

// ループはキーが入る
for (var key in map) {
    print(key + " : " + map[key]);
}
/* 今後コレが使えるようになるらしい
map.forEach(function(value, key) {
    print(key + " : " + value);
});
*/

コードポイント
// コードポイントを UNICODE 文字に変換
// Python では chr(97)
String.fromCharCode(97);
//=> 'a'

// UNICODE 文字をコードポイントに変換
// Python では ord('a')
String.charCodeAt('a');
//=> 97

Copyright(C) sasakima-nao All rights reserved 2002 --- 2017.