JavaScript, Neo-Generation
Written 1/15/00
11. String(1)
このページでは主に JScript3 以降で採用された String オブジェクトの正規表現がらみでないメソッドを紹介します。
length プロパティ
JavaScript でも JScript と同じように、いつのまにか(たぶん、Ver.1.3から) Unicode で文字数を数えるようになったようです。
  alert("ほえ".length);  //2
 
JavaScript では以前は半角で数えて 4 と返ってきたと思いますが、 2 と返ってくるようになりました。
これに伴って、charAt とか substring といった文字列の長さに関連するメソッドは すべて仕様変更になったはずです。
charCodeAt メソッド JavaScript 1.2 JScript 3
charAt は String オブジェクトの指定した位置の文字を返しますが、 charCodeAt はその文字の Unicode を返します。
  alert("A".charCodeAt(0));      //65
  alert("ほえ".charCodeAt(1));   //12360("え"のUnicode)
 
JavaScript1.2 では半角で数えて 0〜255 を返していましたが、 JavaScript1.3 で Unicode を返すようになりました。
fromCharCode メソッド JavaScript 1.2 JScript 3
charCodeAt メソッドとは逆に、 Unicode から文字列を返します。
  alert(String.fromCharCode(65));            //"A"
  alert(String.fromCharCode(12411, 12360));  //"ほえ"
 
JavaScript1.2 では半角コードで 0〜255 を引数にしていました。
concat メソッド JavaScript 1.2 JScript 3
文字列の連結を行います。
  str1.concat(str2, str3, ... , strn);
 
は、
  str1 + str2 + str3 + ... + strn
 
と同等なのであまり意味はない?
  var str1 = "ほえ";
  var str2 = "ほえ";
  var str3 = "ハッピー";
  //"ほえほえ" str1 + str2と同等
  alert(str1.concat(str2));
  //"ほえほえハッピー" str1 + str2 + str3と同等
  alert(str1.concat(str2, str3));
  alert(str1);      //"ほえ"
 
concat メソッドは対象のオブジェクトに影響を与えません。
slice メソッド JavaScript 1.0 JScript 3
文字列の一部を返すメソッドです。
  stringObj.slice(start[, end])
 
stringObjstartend で表される部分を切り出して返します。 start は先頭から、end は最後からの位置です。 end は一つ前が -1、その前が -2 となります。0 はとりません。 end を省略すると最後まで返ります。
  var str = "01234567";
  alert(str.slice(3));     //"34567"
  alert(str.slice(3, -2)); //"345"
 
substr メソッド JavaScript 1.0 JScript 3
文字列の一部を返すメソッドです。
  stringObj.substr(start[, length])
 
stringObjstart から length 分を切り出して返します。 Perl と同じです。
  var str = "01234567";
  alert(str.substr(2, 3));   //"234"
  alert(str.substr(2));      //"234567"
  alert(str.substr(2, 7));   //"234567"
Back