基本に至るまで、javascript文字列はオブジェクトです。このオブジェクトは、文字の配列に分解されます。これが、配列のような文字列オブジェクトで同じ関数のいくつかを呼び出すことができる理由です。
この場合、文字列リテラルを操作するたびに、文字列オブジェクトに変更されます。文字列オブジェクトは文字の配列です。これにより、toUpperCase()やtoLowerCase()などの関数を使用するときに簡単に大文字化できます- (他の関数と一緒に)
this
他の人が述べているように、を使用することはオブジェクトとして参照されます。文字列が配列にどのように似ているかを示すための小さなテストコードを次に示します。
var testStr = "test";
var obj = [ "one", "two", "three"];
console.log(testStr.charAt[1]); // Will return 'e'
console.log(testStr[1]); // Will return 'e'
console.log(obj[1]); // Will return 'two'
console.log(testStr.length) // Will return 4
console.log(obj.length) // Will return 3
の場合の文字列リテラルは、var testStr = "string"
関数のないプリミティブデータ型です。ただし、文字列オブジェクトは、関数および非プリミティブデータ型でデータを操作するために使用されます。
次に、文字列オブジェクトを作成してコンソールに出力します
(これは、文字列リテラルを操作すると発生し、文字列オブジェクトに変換されます)
strTest = new String("TEST String");
console.log(strTest);
あなたが得るでしょう:
String
0: "T"
1: "E"
2: "S"
3: "T"
4: " "
5: "S"
6: "t"
7: "r"
8: "i"
9: "n"
10: "g"
length: 11
__proto__: String
anchor: function anchor() { [native code] }
big: function big() { [native code] }
blink: function blink() { [native code] }
bold: function bold() { [native code] }
camelCase: function (){return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase();});}
capitalize: function (){return this.replace(/\b[a-z]/g,function(match){return match.toUpperCase();});}
charAt: function charAt() { [native code] }
charCodeAt: function charCodeAt() { [native code] }
checkAllAvailableTags: function (){var b=this,d;for(d in c)c.hasOwnProperty(d)&&(b=b.replace(d,c[d]));return b}
clean: function (){return this.replace(/\s{2,}/g,' ').trim();}
concat: function concat() { [native code] }
constructor: function String() { [native code] }
contains: function (string,s){return(s)?(s+this+s).indexOf(s+string+s)>-1:this.indexOf(string)>-1;}
escapeRegExp: function (){return this.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}
fixed: function fixed() { [native code] }
fontcolor: function fontcolor() { [native code] }
fontsize: function fontsize() { [native code] }
hexToRgb: function (array){var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(hex)?hex.slice(1).hexToRgb(array):false;}
hyphenate: function (){return this.replace(/\w[A-Z]/g,function(match){return(match.charAt(0)+'-'+match.charAt(1).toLowerCase());});}
indexOf: function indexOf() { [native code] }
italics: function italics() { [native code] }
lastIndexOf: function lastIndexOf() { [native code] }
length: 0
link: function link() { [native code] }
localeCompare: function localeCompare() { [native code] }
match: function match() { [native code] }
replace: function replace() { [native code] }
rgbToHex: function (array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):false;}
search: function search() { [native code] }
slice: function slice() { [native code] }
small: function small() { [native code] }
split: function split() { [native code] }
strike: function strike() { [native code] }
sub: function sub() { [native code] }
substr: function substr() { [native code] }
substring: function substring() { [native code] }
sup: function sup() { [native code] }
test: function (regex,params){return(($type(regex)=='string')?new RegExp(regex,params):regex).test(this);}
toFloat: function (){return parseFloat(this);}
toInt: function (){return parseInt(this,10);}
toLocaleLowerCase: function toLocaleLowerCase() { [native code] }
toLocaleUpperCase: function toLocaleUpperCase() { [native code] }
toLowerCase: function toLowerCase() { [native code] }
toString: function toString() { [native code] }
toUpperCase: function toUpperCase() { [native code] }
trim: function trim() { [native code] }
trimLeft: function trimLeft() { [native code] }
trimRight: function trimRight() { [native code] }
valueOf: function valueOf() { [native code] }
__proto__: Object