æ®éã®æ¥åç³»PGã«ã¯æå¤ã¨ç¥ããã¦ããªãJavaã¨JavaScriptã®ç¸éç¹10é¸
以åã¯Java EEã®æ®éã®Webã¢ããªã±ã¼ã·ã§ã³ã§ãJavaScriptã¯ããã¾ã§ãå©ä¾¿æ§ã®ããã«è£å©çã«ä½¿ããã®ã¨ããèªèãããã¾ãããããããã«æè¿ã§ã¯æ®éã®æ¥åç³»ã®SIæ¡ä»¶ã§ããã¼ãã«è¡¨ç¤ºãå
¥åè£å©ãªã©ã§é«åº¦ãªAjaxã©ã¤ãã©ãªã¼ã®ä½¿ç¨ãå½ããåã®ããã«æ±ããããããã«ãªãã¤ã¤ããã¾ãããµã¼ãã¼ãµã¤ãã®JavaScriptæè¡ã¨ãã£ããã®ãããã¾ããããããã£ãæ°ããæè¡ã使ããªãã¾ã§ããããæ®éã«ããç¨åº¦å¤§ããªJavaScriptã®ä½æãå¿
è¦ã«ãªã£ã¦ãã¦ããã¨ãããã¨ã§ãã
ãã¡ãããJavaã¨JavaScriptã¯ãã®ååã«ããããããæ¬æ¥å
¨ãå¥ã®è¨èªã§ããããããæå³çã«ä¼¼ãæ§æã§ãã¸ãã¯ãæ¸ãã*1ãããå
å¼ã®è¨èªã¨ãã¦èªèãã¦ãã人ãæå¤ã«å¤ãã®ã§ã¯ãªããã¨æãã¾ãããããã使ç¨ã§ããã©ã¤ãã©ãªã¼ã«éããããã¨ããç¹ãä¸è¦ãã¦ãããæã大ããªéãã§ãããåºæ¬çãªè¨èªã®ææ³ãã®ãã®ã§ãæå¤ã«è¦è½ã¨ããã¡ãªç¸éç¹ãããã¤ãåå¨ãã¾ããããã§ã¯ããã®ä¸ã§ãJavaããã°ã©ãã¼ã®è¦ç¹ããè¦ã¦ç¹ã«æ°ã«ãªã£ããã¤ã³ãã10åã«çµãç´¹ä»ãã¾ãã
JavaScriptã®æååã¯åºæ¬å
è¦ããä¸Javaã®æååã¨JavaScriptã®æååã¯æååãªãã©ã«ã®å¼ç¨ç¬¦ã«ã·ã³ã°ã«ã¯ãªã¼ãã¼ã·ã§ã³ã使ããç¹ãé¤ãã¨ããã£ããã«ä½ããã¦ãã¾ãããã®ãããæå¤ã¨è¦è½ã¨ããã¡ãªãã¨ã§ãããJavaScriptã®æååã¯è¨èªä¸ã¯ãªãã¸ã§ã¯ãã§ã¯ãªãåºæ¬åã®å¤ã§ããJavaã®å ´åãæååã¯Stringã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãå¤æ°ã¯ä»ã®ãªãã¸ã§ã¯ãåã®å¤æ°ã¨åæ§ã«åç
§åã¨ãªãã®ã§ãããJavaScriptã®å ´åã¯æ°å¤ãbooleanã¨åæ§ã®åºæ¬åã®å¤ã¨ãã¦æ¯ãèãã¾ãã
ã§ããããæååã®ç価æ§ãæ¯è¼ããå ´åã¯ã以ä¸ã®ããã«==æ¼ç®åã===æ¼ç®åãé©ç¨ãããã¨ãã§ãã¾ãã
var str = "Hello"; var str2 = "Hello World".substring(0, 5); console.log(str == str2); // true
Javaããã°ã©ãã¼çãªçºæ³ã§ã¯ãstrã¨str2ã¯å¥ã
ã®æååãªãã¸ã§ã¯ããåç
§ãã¦ãããããæå¾ã®è¡ã®==ã«ããæ¯è¼ãfalseã¨ãªãããã«åéããããã§ãããJavaScriptã§ã¯åºæ¬åã¨ãã¦å¤ã®æ¯è¼ã¨ãªãããtrueã¨ãªãã¾ããéã«Javaã«æ»ã£ãæã«equals()ã使ããã¨ãå¿ãã¦ãã¾ãã¨ãã°ã®åå ã¨ãªãã¾ããJavaã¨JavaScriptã«ããããã®æååã®æ±ãã®éãã¯ååã«ç解ãã¦æ£ãã使ãåããå¿
è¦ãããã¾ãã
ãªããä¸è¨ã®ã³ã¼ããµã³ãã«ã§console.log()ã¡ã½ããã¯ãããã°æãåãè¾¼ãå ´åã«ä¾¿å©ã§ãã以åã¯alert()ãã¤ã¢ãã°ã表示ããã¦ãããã°ãã¦ãããã®ã§ãããæè¿ã®ãã©ã¦ã¶ã§ã¯consoleãªãã¸ã§ã¯ããçµã¿è¾¼ã¾ãã¦ããããããããæ´»ç¨ããã®ã便å©ã§ãããã
ï¼è¿½è¨ï¼JavaScriptã®==æ¼ç®åã«ã¤ãã¦ã¯ã以ä¸ã®ã¨ã³ããªããåç
§ãã ãããJavaScriptで文字列の等価性を==で評価できるのは文字列が基本型だからなのか: 発火後忘失
åºæ¬åã®éã
Javaã«ã¯intãdoubleãªã©ã®å¤æ°ã®åºæ¬åãå®ç¾©ããã¦ãã¾ãããJavaScriptã®å ´ååºæ¬åã«ç¸å½ããã®ã¯ä»¥ä¸ã®ï¼éã*2ããããã¾ããã
- booleanå
- numberå
- stringå
ã¤ã¾ãã
- åºæ¬åã¨ãã¦charåã¯ãªã
- åºæ¬åã¨ãã¦æ´æ°ã¨å®æ°ã®åºå¥ã¯ãªã
- byteãshortãintãlongã¨ãã£ã精度ã«ããåºå¥ããªã
ã¨ãããã¨ã§ããããªããJavaScriptå¤æ°ã®åºæ¬åã¯ï¼Javaã«ã¯ç¡ãï¼typeofæ¼ç®åã使ã£ã¦èª¿ã¹ããã¨ãã§ãã¾ãã
var strValue = "Hello"; var booleanValue = true; var intValue = 1; var doubleValue = 1.0; console.log(typeof strValue); // "string" console.log(typeof booleanValue); // "boolean" console.log(typeof intValue); // "number" console.log(typeof doubleValue); // "number" // æ´æ°ã¨æµ®åå°æ°ã¯åºå¥ããªã console.log(intValue == doubleValue); // true console.log(intValue === doubleValue); // true
ãªããJavaã¨åæ§ã«JavaScriptã«ãåºæ¬åã«å¯¾å¿ããã©ããã¼ãªãã¸ã§ã¯ãã¨ãã¦StringãNumberãBooleanã¨ããã®ãããã¾ãããããã®ã©ããã¼ãªãã¸ã§ã¯ãã使ã£ã¦æååæ¼ç®ãåå¤æãªã©ã®ãã¸ãã¯ãå®è¡ã§ãã¾ãã
var strValue = "Hello"; var strWrapper = new String("Hello"); console.log(typeof strValue); // "string" console.log(typeof strWrapper); // "object" console.log(strWrapper.toUpperCase()); // "HELLO" console.log(strValue == strWrapper); // true console.log(strValue === strWrapper); // false
以ä¸ã®ä¾ã§ãstrWrapperã®åã¯stringã§ã¯ãªãobjectã¨ãªã£ã¦ãããã¨ã«æ³¨æãã¦ãã ãããã ãããæé»ã®åå¤æãè¡ããã==æ¯è¼ã§ã¯strValueã¨ç価ã¨ãã¦å¤æããã¾ãããåã®å¤æãè¡ããªã===æ¯è¼ã§ã¯falseã¨å¤æããã¦ãã¾ãã
ãªããJavaScriptã§ã¯é常ã©ããã¼ãªãã¸ã§ã¯ããæ示çã«newã§çæãããã¨ã¯å®éã«ã¯ã¾ãã§ãããªããªããåºæ¬åã«å¯¾ãã¦ã¡ã½ããå¼ã³åºãã®å½¢ã§è¨è¿°ããã¨æé»ã®ã©ããã¼ãªãã¸ã§ã¯ãã«èªåå¤æãããã¨ããããã¿ãããããã§ããã§ãããã
console.log(strValue.toUpperCase()); // "HELLO" console.log("Hello".toUpperCase()); // "HELLO"
ã®ãããªæ¸ãæ¹ãã§ãã¾ãããã®ç³è¡£æ§æã«ãã£ã¦ãä¸è¦JavaScriptãRubyãScalaã®ãããªåºæ¬åã®ãªãç´ç²ãªãªãã¸ã§ã¯ãæåã®è¨èªã«è¦ãã¦ãã¾ãã®ã§ãããå®ã¯ããã§ã¯ãªãã¦ãå é¨ã§ã©ããã¼ãªãã¸ã§ã¯ããä¸æçã«çæããã¦ããã¨èããã®ãæ£ããç解ã§ãã
undefinedå¤ã®åå¨
JavaScriptã§ã¯å¤ãåå¨ããªããã¨ã示ãç¹å¥ãªå¤ã¨ãã¦undefinedå¤ãããã¾ããnullã¯Javaã«ãåå¨ãã¾ãããundefinedã¯JavaScriptã«åºæã®åã§ãã
var a; var b = null; console.log(typeof a); // "undefined" console.log(typeof b); // "object" console.log(a == b); // true console.log(a === b); // false
undefinedã¯ä¸è¨ã®aã®ããã«åæå¤ãä»£å ¥ããã¦ããªãå¤æ°ã®å¤ãåã¨ãªã£ã¦ãã¾ããã==æ¯è¼ã§ã¯nullå¤ã¨ã®ã¿ç価ã¨å¤æããã¾ãã
console.log(a == ""); // false console.log(a == false); // false console.log(a == 0); // false console.log(a == null); // true
ã¨ããããifæã®æ¡ä»¶å¼ã®ããã«å¼·å¶çã«booleanåãæå¾ ãããå ´æã§ã¯falseã«å¤æããã¾ãã
if (!a) { console.log("########"); // å®è¡ããã }
ã¾ããæ°å¤ã«å¤æãããå ´æã§ã¯ãNaNã«å¤æããã¾ãã
console.log(a + 3); // NaN
ãªããNaNã®åã¯numberåã§ãªãã¦ãundefinedåã¨ãªãã¾ãã
var c = Math.sqrt(-1); console.log(c); // NaN console.log(typeof c); // "number" console.log(isNaN(c)); // true
NaNã¯Not A Numberã¨ãããã¨ãªã®ã§ãnumberåã¨ããã®ã¯ã¡ãã£ã¨ããããããã«æãã¾ããã
ãªããundefinedåã¯ä¸è¨ãå«ãã¦
- æªåæåå¤æ°ã®å¤
- å¢çãè¶ ãã¦ã¢ã¯ã»ã¹ãããé åã®å¤
- é¢æ°ã§å®ãã©ã¡ã¼ã¿ã¼ã渡ããã¦ããªãå ´åã®ãã©ã¡ã¼ã¿ã¼å¤
- é¢æ°ã§returnãããã¦ããªãå ´åã®æ»ãå
ã®å ´åã«ç»å ´ãã¾ãã以ä¸ã®ã¨ã³ããªãåèã«ãªãã¾ãã
JavaScriptのundefinedというクセ者のいろいろ - 風と宇宙とプログラム
é åã®åæåã®ä»æ¹ãé åã®ã¡ã½ãã
Javaã®å ´åé åã®åæåã¯ä¸æ¬å¼§{}ã§è¡ãã¾ãããJavaScriptã®å ´åã¯è§æ¬å¼§[ ]ã§è¡ãã¾ãã
var a = [1, 2, 3]; var b = {1, 2, 3}; // ã¨ã©ã¼
ãªããJavaã¨éãJavaScriptã®é åã¯æ®éã®ãªãã¸ã§ã¯ãã¨åæ§ã«ã¡ã½ããå¼ã³åºãã使ã£ã¦è¦ç´ ãæä½ãããã¨ãã§ãã¾ããç¹ã«ãpush()ãªã©ã®ã¡ã½ããã使ã£ã¦è¦ç´ ã追å ãããã¨ãã§ãã¾ããJavaScriptã®é åã¯Javaã§è¨ãã¨ããã®ArrayListã«è¿ãã¨æã£ãæ¹ãããã§ãããã
æ£è¦è¡¨ç¾ã®æ±ã
æ£è¦è¡¨ç¾ã®æ±ãã¯ãJavaScriptã¨Javaã¨ã§å ¨ãéã£ã¦ãã¾ããJavaã®å ´åã¯ãJavaで正規表現を扱うのは難しい - 達人プログラマーを目指してã§ãæ¸ããã¨ãããããªãé¢åãªAPIãå©ç¨ããå¿ è¦ãããã¾ãããç¾å¨ã®JavaScriptã§ã¯ããªãå¼·åãªæ£è¦è¡¨ç¾ã®ä»çµã¿ãè¨èªã«çµã¿è¾¼ã¾ãã¦ãã¾ããç¹ã«ã¹ã©ãã·ã¥ã使ã£ãæ£è¦è¡¨ç¾ãªãã©ã«ã使ãã°ãRegExpãªãã¸ã§ã¯ããç°¡åã«çæã§ãã¾ãã
var regExp = /end$/; console.log(regExp.test("The end")); // true console.log(regExp.test("The end is near.")); // false
RegExpãªãã¸ã§ã¯ãã®ã¡ã½ããã使ã以å¤ã«Stringãªãã¸ã§ã¯ãã®ããã¤ãã®ã¡ã½ããã§æ£è¦è¡¨ç¾ãå©ç¨ã§ãã¾ãã
var regExp = /\s/g; console.log("This is a test.".replace(regExp, "-")); // "This-is-a-test."
JavaScriptã®æ£è¦è¡¨ç¾ã«ã¤ãã¦ã¯ã以ä¸ãåèã«ãªãã¾ãã
http://blog.wonder-boys.net/?p=294
{}ã®ãããã¯ãã¹ã³ã¼ãã«ãªããªãã代ããã«é¢æ°ãã¹ã³ã¼ã
JavaScriptã§ã¯Javaã¨ç°ãªãä¸æ¬å¼§ã®ãããã¯ãå¤æ°ã®ã¹ã³ã¼ãã«ã¯ãªãã¾ããã
function test() { var a = 3; console.log(a); // 3; { var a = "Hello"; } console.log(a); // "Hello"; }
以ä¸ã®ãããªç¬ç«ãããããã¯ã ãã§ãªããifæãforæã®ãããã¯ãJavaã¨éã£ã¦å¤æ°ã®ã¹ã³ã¼ãã¨ã¯ãªãã¾ããããããJavaããã°ã©ãã¼ã¯çµæ§åéãããããã¨ããã§ããããã ããJavaScriptã®å ´åã¯é¢æ°ã®ä¸ã«é¢æ°ãå ¥ãåã§å®ç¾©ã§ãã¦ããã®é¢æ°ãå¤æ°ã®ã¹ã³ã¼ãã«ãªãã¾ãã
function test2() { var a = 3; console.log(a); // 3; function inner() { var a = "Hello"; } console.log(a); // 3; }
é¢é£ãã¦ãJavaScriptã§ã¯å¤æ°å®ç¾©ã®å·»ãä¸ãã¨ããç¾è±¡ããããvarã§å®£è¨ãããå ´æã«ãããããã¼ã«ã«å¤æ°ã¯é¢æ°ã®å é ããåå¨ãã¦ãããã®ã¨ãã¦æ±ãããã®ã§æ³¨æãå¿ è¦ã§ãã
var a = "Hello"; function test3() { console.log(a); // undefined; var a = 3; console.log(a); // 3; }
以ä¸ã®ä¾ã§ã¯ããã¼ã«ã«å¤æ°aã¯é¢æ°ã®å é ããåå¨ãã¦ãããã¨ã«ãªããããç´æã«åãã¦é¢æ°ã®å é ããã°ãã¼ãã«å¤æ°ã«ã¢ã¯ã»ã¹ã§ããªããªãã¾ããJavaã¨éããJavaScriptã®ãã¼ã«ã«å¤æ°ã¯é¢æ°ã®å é ã§ã¾ã¨ãã¦å®£è¨ããã®ãè¯ãããã§ãã
switchæã®å¤ã«ä»»æã®åã使ãã
æ§æã¯Javaã¨ãã£ããã§ãããJavaScriptã§ã¯æ´æ°å¤ã«éãããä»»æã®å¤ãcaseå¼ã«æå®ãããã¨ãã§ãã¾ããã§ããå®è³ªçã«æå³ãããã®ã¯æååãæ°å¤ãªã©ã®åºæ¬åã®å¤ã§ãã
switch (value) { case "Hello": console.log("æåå " + value); break; case 1: console.log("æ°å¤ " + value); break; default: console.log("ãã®ä»"); break; }
ãªããJavaã§ãããããJava7ããswtichæã«ãããæååã®æ¯è¼ãå¯è½ã«ãªãã¾ããã
Java7 体当たり/strings switch - 日々常々
æå¾ã«ãJavaScriptã®switchæã«ããå¤æ¯è¼ã§ã¯===æ¼ç®åã®ããã«å³å¯ãªåæ¯è¼ãè¡ãããæé»ã®åå¤æã¯è¡ãããªããã¨ã«æ³¨æããå¿
è¦ãããã¾ããã¤ã¾ãã"3"ã¯3ã¨ã¯çããã¨ã¯è¦ãªãããªãã¨ãããã¨ã§ãããå¤ã®æ¯è¼ã«æè»æ§ãæãããããRubyã®caseæ§æã¨ã¯éã£ã¦ãããããåéãããªãããã«æ³¨æãå¿
è¦ã§ãã
å®æ°ã®ä½æã¯finalã§ãªãã¦constï¼ã ãã©å®è³ªä½¿ããªãï¼ï¼
JavaScript1.5ããã¯varã®ä»£ããã«constãã¼ã¯ã¼ããç¨ãã¦å®æ°ãå®ç¾©ã§ãã¾ãã
const PI = 3.141592;
ããããæ®å¿µãªããconstãã¼ã¯ã¼ãã¯IEã§ã¯ãµãã¼ãããã¦ããªãããã§ããã§ããããå®è³ªçã«ã¯JavaScriptã«ã¯å®æ°ã¯ãªãã¨æã£ã¦ãããæ¹ãããããããã¾ããã
ãªãããªãã¸ã§ã¯ãã®å¤æ´ãç¦æ¢ããObject.freeze()ã¡ã½ããã¯ããã¾ãããconstã¨éãå®æ°ãã®ãã®ãå®ç¾©ã§ããããã§ã¯ããã¾ãããã¤ã¾ãããã®ã¡ã½ããã¯ãªãã¸ã§ã¯ãã«å¯¾ãã¦æ°ããããããã£ã®è¿½å ãåé¤ãç¶æ
å¤æ´ãç¦æ¢ããããã«å©ç¨ãã¾ããã¤ã¾ããå¤æ°ãåç
§ãããªãã¸ã§ã¯ããã®ãã®ã®ç¶æ
ãä¸å¤ã«ãªãã®ã§ããããããåç
§ããï¼ãã¼ã«ã«ï¼å¤æ°ã«å¯¾ããå代å
¥ãé²ããã®ã§ã¯ããã¾ããã*3
é¢æ°ãä¸ç´å¸æ°ã®ãªãã¸ã§ã¯ã*4
ããã¯JavaScriptã®æ大ã®ç¹å¾´ã®ä¸ã¤ã ã¨æãã¾ãããJavaScriptã§ã¯é¢æ°ãã®ãã®ããªãã¸ã§ã¯ãã¨ãã¦å¤æ°ã«ä»£å
¥ãããããã©ã¡ã¼ã¿ã¼ã§åã渡ãããããããã¨ãã§ãã¾ããããã¦ãé¢æ°ãªãã¸ã§ã¯ãã¯ã¯ãã¼ã¸ã£ã¼ã¨ãã¦åä½ãã¾ããいまさらだけど、Java言語にはクロージャーがない - 達人プログラマーを目指して
ãã®ãã¤ã³ãã¯ãæã§ããã°ä¸ç´è
ã®ã¿ç解ãã¦ããã°ããå
容ã ã£ãã®ã§ãããä»ã§ã¯ã»ã¨ãã©ã®JavaScriptã©ã¤ãã©ãªã¼ãé¢æ°ãªãã¸ã§ã¯ããæ§ã
ãªã¨ããã§å©ç¨ãã¦ãã¾ãã®ã§ãé¿ãã¦éããã¨ã¯ã§ãã¾ããã
é¢æ°ãªãã¸ã§ã¯ãã¯é¢æ°å®ç¾©ãè¡ãæ¹æ³ä»¥å¤ã«é¢æ°çæå¼ï¼é¢æ°ãªãã©ã«ï¼ãç¨ãã¦ç°¡åã«çæã§ãã¾ãã
function calc(a, b, op) { return op(a, b); } var add = function(a, b) { return a + b; }; // é¢æ°ãªãã¸ã§ã¯ããçæãã¦å¤æ°ã«ä»£å ¥ var subtract = function(a, b) { return a - b; }; // é¢æ°ãªãã¸ã§ã¯ããçæãã¦å¤æ°ã«ä»£å ¥ var resultAdd = calc(1, 2, add); var resultSub = calc(1, 2, subtract); console.log(resultAdd); // 3 console.log(resultSub); // -1
ãªããä»æã®ä»ã®ã¹ã¯ãªããè¨èªã¨éããé¢æ°ããå¤ãè¿ãå ´åã«ã¯returnæãçç¥ã§ããªããã¨ã«æ³¨æãå¿ è¦ã§ããï¼returnãå¿ããã¨æ»ãå¤ãundefinedã«ãªã£ã¦ãã¾ããï¼
ãªãã¸ã§ã¯ãã®çææ¹æ³ã¨ã¯ã©ã¹
JavaScriptã§ã¯ãªãã¸ã§ã¯ããªãã©ã«ã使ã£ã¦ããªãã¸ã§ã¯ããçæãããã¨ãã§ãã¾ãã
var dog = { name : "ãã", breed : "ãã¯ã¯", bark : function() { return "ãããã"; } }; console.log(dog.name); // "ãã" console.log(dog.breed); // "ãã¯ã¯" console.log(dog.bark()); // "ãããã"
Javaã¨åãããã«ãªãã¸ã§ã¯ãã®ä¸ã«å«ã¾ããå¤ã¯ããããã£ï¼ãã£ã¼ã«ãï¼ãé¢æ°ã¯ã¡ã½ããã¨å¼ã°ãã¾ããããã§ã¯ããªãã¸ã§ã¯ããªãã©ã«ã使ã£ã¦ãããããã£ã¨ã¡ã½ãããæåããä¿æããã¦ãã¾ããããªãã¸ã§ã¯ãã«å¯¾ãã¦ã¯å¾ãããããã®è¦ç´ ã追å ãããã¨ãã§ãã¾ãã
var dog = {}; dog.name = "ã³ã"; dog.breed = "ããã¯ã¹"; dog.bark = function() { return "ãããããã"; }; console.log(dog.name); // "ã³ã" console.log(dog.breed); // "ããã¯ã¹" console.log(dog.bark()); // "ãããããã"
ãã®ããã«JavaScriptã®ãªãã¸ã§ã¯ãã§ã¯Javaã®æ§ã«publicãprivateã¨ãã£ãã¢ã¯ã»ã¹å¶å¾¡ããªããã¾ããããããã£å¤ã ãã§ãªããããããã£ã®å®ç¾©ãã¡ã½ãããåçã«è¿½å ã§ãã¾ãããã®ãã¨ã¯ãç¬èªã«çæãããªãã¸ã§ã¯ãã ãã§ãªããStringãªã©ã®çµã¿è¾¼ã¿ã®ãªãã¸ã§ã¯ãã«å¯¾ãã¦ãå®æ½ã§ãã¾ãã
var strObject = new String("Hello"); strObject.test = function() { return "======" + this + "======"; }; console.log(strObject.test()); // "===== Hello ====="
ãªããJavaScriptã«ã¯Javaã®ã¯ã©ã¹ã«ç¸å½ãããã®ãããã¾ããããã®ãããã«ãã³ã³ã¹ãã©ã¯ã¿é¢æ°ã¨ããç¹å¥ãªé¢æ°ãå®ç¾©ãããã¨ãã§ãã¾ããã³ã³ã¹ãã©ã¯ã¿é¢æ°ã¯ä»¥ä¸ã®ç¹å¾´ããã£ãé¢æ°ã§ãã
- å½åè¦ç´ä¸ãå é ã®æåã大æåã«ãã
- newæ¼ç®åã®å¾ã«æå®ãããã¨ã§å¼ã³åºã
以ä¸ã®ããã«ãã³ã³ã¹ãã©ã¯ã¿é¢æ°ãå®ç¾©ããã¨ãnewæ¼ç®åã使ã£ã¦ãªãã¸ã§ã¯ããçæã§ãã¾ãã
// ã³ã³ã¹ãã©ã¯ã¿é¢æ° function Dog(name, breed) { this.name = name; this.breed = breed; this.bark = function() { return "ãããã"; }; } var dog = new Dog("ãã", "ãã¯ã¯"); console.log(dog.name); // "ãã" console.log(dog.breed); // "ãã¯ã¯" console.log(dog.bark()); // "ãããã" console.log(typeof dog); // "object" console.log(dog.constructor.name); //"Dog" console.log(dog instanceof Dog); //true
ããã§ãtypeofæ¼ç®åã使ã£ã¦èª¿ã¹ãã¨å¤æ°dogã®åã¯objectãªã®ã§ãããinstanceofæ¼ç®åã使ãã¨ãªãã¸ã§ã¯ãã®åãDogã§ãããã¨ããããã¾ããæ§æçã«ãJavaScriptã®å ´åã¯ã³ã³ã¹ãã©ã¯ã¿é¢æ°ããªãã¸ã§ã¯ãå¤æ°ã®åã¨é¢é£ãã¦ãããã¯ã©ã¹ã«è¿ãå½¹å²ãæã£ã¦ãããã¨ããããã¾ãããªããJavaScriptã®ãªãã¸ã§ã¯ããç解ããããã«ã¯ãããã¿ã¤ãã¨ããèãæ¹ãç解ããå¿ è¦ãããã¾ãããããã§ã¯èª¬æãã¾ããã以ä¸ã®æ¬ãåèã«ãã¦ãã ããã
ã¾ã¨ã
å¤è¦ï¼è¨èªåãæ§æè¦åãå½åè¦ç´ãªã©ï¼ãJavaã¨ãã£ãããªãããJavaScriptã¯Javaããã°ã©ãã¼ã§ããã°ãä½ã¨ãªã使ãã¦ãã¾ããããªã¤ã¡ã¼ã¸ããããæå³ãããããªãã¾ã¾Webãæ¸ç±ã®ãµã³ãã«ã³ã¼ããè²¼ä»ãã¦ä½¿ã£ã¦ãã人ãå¤ãããããã¾ãããã詳ãã調ã¹ã¦ããã¨ç´°ããã¨ããã§ããªãéã£ã¦ããé¨åããããã注æãå¿
è¦ã§ããæè¿ã¯ã社å
ã·ã¹ãã ã®SIæ¡ä»¶ã§ãã¹ã¯ãªããã¨ãã¦çãã³ã¼ããæ¸ãã®ã¿ã§ãªããè¤éãªã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®å®ç¾ã®ãããç¸å½ã®åéã®JavaScriptã³ã¼ããæ¸ããªãã¦ã¯ãªããªããã¨ãå¤ããä¸éãåºæ¬ãåå¼·ãã¦ããã¹ããã¨æãã¾ããSIæ¥çã§ã¯å¤ãã®å ´åãJavaã¯ç¿ã£ã¦ããJavaScriptããã¡ãã¨æããããæ©ä¼ã¯å°ãªãã¨æãã¾ãã®ã§ã
JavaScriptã®æ¬ã¯ããããåºã¦ãã¾ãããç§ãèªãã æ¬ã¨ãã¦ã¯ã
åãã¦ã®JavaScript 第2ç
- ä½è : Shelley Powers,æ¦èåºå¹¸,æ¦èãã¿
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2009/11/30
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 7人 ã¯ãªãã¯: 115å
- ãã®ååãå«ãããã° (21件) ãè¦ã
- ä½è : David Flanagan,æä¸å
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã»ã¸ã£ãã³
- çºå£²æ¥: 2007/08/14
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 52人 ã¯ãªãã¯: 1,011å
- ãã®ååãå«ãããã° (271件) ãè¦ã
JavaScript: The Good Parts âãè¯ããã¼ããã«ãããã¹ããã©ã¯ãã£ã¹
- ä½è : Douglas Crockford,æ°´éè²´æ
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2008/12/22
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 94人 ã¯ãªãã¯: 1,643å
- ãã®ååãå«ãããã° (190件) ãè¦ã
JavaScriptãã¿ã¼ã³ âåªããã¢ããªã±ã¼ã·ã§ã³ã®ããã®ä½æ³
- ä½è : Stoyan Stefanov,è±ç¦å
- åºç社/ã¡ã¼ã«ã¼: ãªã©ã¤ãªã¼ã¸ã£ãã³
- çºå£²æ¥: 2011/02/16
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 22人 ã¯ãªãã¯: 907å
- ãã®ååãå«ãããã° (76件) ãè¦ã
*1:å¤ãã®SIéçºã®ç¾å ´ã§ã¯ãªãã¸ã§ã¯ãæåè¨è¨ãªã©èæ ®ããifã¨forã®ã¿ã§ãã¸ãã¯ã®ã¿ãæ¸ãä¸ãã¨ããæ £ç¿ããããããç¹ã«å·®ããªãããã«è¦ãã¦ãã¾ãã¨ãããããã®ã§ã¯ã
*2:å¾è¿°ã®undefinedã¯é¤ã
*3:C++è¨èªã§è¨ãã¨ããã®ãã¤ã³ã¿ã®å®æ°ããã¤ã³ã¿ã®æãå ãä¸å¤ãªã®ãã®éãã¨ä¼¼ã¦ãã
*4:JavaScriptã§ã¯é¢æ°ã主役ã¨ãããã¨ã§ãé¨åçã«é¢æ°åè¨èªé¢¨ã®è¨è¿°ãå¯è½ãªå´é¢ã¯ããã¾ãããä¸å¤ãªå¤æ°ã¨ããæ¦å¿µãå¼±ããããç´ç²ã«é¢æ°åã®ããã°ã©ã ãä½æããã®ã¯å³ããã¨æãã¾ãã