際際滷

際際滷Share a Scribd company logo
3
襴磯願骸 煙
JavaScript Patterns
 覃伎
 螳豌, 覦一, 蠏 煙 襴磯伎 蟯
  觜 襴磯 蠍磯 磯 蟆  譬
 伎

   煙
 煙  螻 襴磯 蠍磯 
 !
1 螳豌 襴磯

 企-螳  伎 企
 るジ 語伎 郁 覦一癌螻 
 螳 螳 覃 覃
// 觜 螳豌伎 .
var dog = {};

// 襦狩 襯 豢螳.
dog.name = "Benji";

// 企 覃襯 豢螳.
dog.getName = function () {
    return dog.name;
};
襦狩一 覃 螳 覲蟆渚  .
dog.getName = function () {
    // 覃螳 貊 螳 覦襦 .
    return "Fido";
};


襦狩磯 覃襯  .
delete dog.name;


るジ 襦狩磯 覃襯 豢螳.
dog.say = function () {
    return "Woof!";
};
dog.fleas = true;
螳豌 襴磯 蠍磯

var dog = {
    name: "Benji",
    getName: function() {
        return this.name;
    }
};
觜 螳豌

   覯渚 觜 螳豌企 .

   {} 螳豌伎^谿 企 Object.prototype
    

   觜伎も = 覦 蟆  襦狩郁 .
螳豌 襴磯 覓碁 蠏豺
   螳豌企ゼ 譴蟯碁 螳朱. ({  })

   螳豌 伎 襦狩一 覃襯 狩襦 覿襴.
    襷讌襷 企-螳  れ 狩螳 れ願覃 IE
    螳 覦.

   襦狩磯螻 襦狩 螳 貊襦朱 覿襴.

   螳豌企ゼ 覲 麹   譴蟯 れ 碁
    貊襦 觜朱┨讌 襦 .
煙 襦 螳豌 燕蠍

// 豌 覯讌 覦覯 - 襴磯 
var car = { goes: far };

// るジ 覦覯 - 伎 煙 
// 蟆所:  覦覯 壱伎企.
var car = new Object();
car.goes = far;



讌щ!     覯 覲 螻殊 !
螳豌 煙 


 Object() 煙螳 語襯 覦  .
 壱伎朱 覲伎.
// 觜 螳豌
var o = new Object();
console.log(o.constructor === Object); // true

//  螳豌
var o = new Object(1);
console.log(o.constructor === Number); // true
console.log(o.toFixed(2)); // "1.00"

// 覓語 螳豌
var o = new Object("I am a string");
console.log(o.constructor === String); // true
// 朱 螳豌伎 substring()企朱 覃螳 讌襷 覓語 螳豌伎 .
console.log(typeof o.substring); // "function"

// 覿襴 螳豌
var o = new Object(true);
console.log(o.constructor === Boolean); // true
2   煙 


 覦 企るゼ  螳豌企ゼ 燕
 覦螻 讌襷,

 覦ろ襴渚語 蠏語  訖企.
var Person = function(name) {
    this.name = name;
    this.say = function() {
        return "I am " + this.name;
    };
};

var adam = new Person("Adam");
adam.say(); // "I am Adam"
var Person = function(name) {
    // 螳豌 襴磯企 襦 螳豌企ゼ 燕.
    // var this = {};

     // 襦狩一 覃襯 豢螳.
     this.name = name;
     this.say = function() {
         return "I am " + this.name;
     };

     // this襯 覦.
     // return this;
};

var adam = new Person("Adam");
adam.say(); // "I am Adam"
煙 覦 螳

 煙 覓旧朱 this襯 覦
 覦 螳 磯   . (, 螳豌企)
 螳豌願 朱?
 覓伎螻 this襯 覦.
var Objectmaker = function() {
    // 煙螳 るジ 螳豌企ゼ  覦蠍磯 蟆一蠍
    // 覓語 れ 'name' 襦狩磯 覓伎
    this.name = "This is it";

     // 襦 螳豌企ゼ 燕 覦
     var that = {};
     that.name = "And that's that";
     return that;
};

// ろ誤企慨
var o = new Objectmaker();
console.log(o.name); // "And that's that"
3 new襯 螳 


 れ 螳ロ 貅伎 : new襯 觜朱┨.
 煙 覦 this螳 螳豌企ゼ 螳
 襴り 企襴
// 煙
function Waffle() {
    this.tastes = "yummy";
}

// 襦 螳豌
var good_morning = new Waffle();
console.log(typeof good_morning); // "object"
console.log(good_morning.tastes); // "yummy"

// 壱:
// 'new'襯 觜朱┨.
var good_morning = Waffle();
console.log(typeof good_morning); // "undefined"
console.log(window.tastes);       // "yummy"
// 煙
function Waffle() {
    this.tastes = "yummy";
}

// 襦 螳豌
               ECMAScript 5
var good_morning = new Waffle();
          ろ碁Ν 覈 this螳
console.log(typeof good_morning); // "object"
console.log(good_morning.tastes); // "yummy"
        螳豌企ゼ 螳襴れ 襦 豌襴
// 壱:
// 'new'襯 觜朱┨.
var good_morning = Waffle();
console.log(typeof good_morning); // "undefined"
console.log(window.tastes);       // "yummy"
覈覈 蠏豺


 煙 覈 : 豌蠍 覓語
 朱  覃 : 豌蠍 覓語
that 
function Waffle() {
    var that = {};
    that.tastes = "yummy";
    return that;
}



覓語 : 襦螻殊 郁屋螻襴襯 企襴
れる襯 語 煙

function Waffle() {
    if ( !(this instanceof Waffle) ) {
        return new Waffle();
    }

    this.tastes = yummy;
}
Waffle.prototype.wantAnother = true;
れる襯 語 煙

function Waffle() {
    if ( !(this instanceof arguments.callee) ) {
        return new Waffle();
    }

    this.tastes = yummy;
}       ECMAScript 5 Strict Mode
Waffle.prototype.wantAnother = true;
4 覦一 襴磯
//  螳 襯 螳讌 覦一
// 蟆所: 壱
var a = new Array("itsy", "bitsy", "spider");

//  螳 覦一
var a = ["itsy", "bitsy", "spider"];

console.log(typeof a); // 覦一企 螳豌伎願鍵 覓語 "object"螳 豢
console.log(a.constructor === Array); // true
覦一 煙 轟伎
//  螳 襯 螳讌 覦一伎 
var a = new Array(3);
console.log(a.length); // 3
console.log(typeof a[0]); // undefined


// RangeError螳 覦
var a = new Array(3.14);
console.log(typeof a); // undefined
覦一伎語 覲 覦覯
// ECMAScript 5 讌讌  蟆曙
if (typeof Array.isArray === "undefined") {
    Array.isArray = function (arg) {
        return Object.prototype.toString.call(arg)
               === "[object Array]";
    };
}

Array.isArray([]); // true
5 JSON


 襦狩磯 一危襦 螳語 .
  蠏 襴磯伎   .
JSON る蠍


JSON.parse()
JSON.stringify()
json.org
6 蠏  襴磯

// 蠏 襴磯
var re = //gm;

// 煙
var re = new RegExp("", "gm");
蠏  襴磯 覓碁
function getRE() {
    var re = /[a-z]/;
    re.foo = "bar";
    return re;
}

var reg = getRE(),
    re2 = getRE();

console.log(reg === re2); // true
reg.foo = "baz";
console.log(re2.foo); // "baz"
蠏  襴磯 覓碁
function getRE() {
    var re = /[a-z]/;
    re.foo = "bar";
    return re;
}
           ECMAScript 5
var 襴磯伎 企
    reg = getRE(),   襦 螳豌願 
    re2 = getRE();

console.log(reg === re2); // true
reg.foo = "baz";
console.log(re2.foo); // "baz"
7  一危  


Number()
String()
Boolean()
//  一危  覓語伎 螳豌企 
var s = "hello";
console.log(s.toUpperCase()); // "HELLO"

// 螳 豌企朱 螳豌伎 
"monkey".slice(3, 6); // "key"

//  襷谿螳讌
(22 / 7).toPrecision(3); // "3.14"
// 襦狩 レ 覿螳
var greet = Hello there;
greet.smile = true;
typeof greet.smile; // undefined



// new襯 讌  蟆曙  一危 朱 覲
typeof Number(1); // number
typeof Number(1); // number
typeof String(1); // string
8  螳豌

 蠍磯蓋 襦狩
  name : 螳豌企ゼ 燕 煙  name 襦狩
  message : 螳豌企ゼ 燕  煙  覓語
 throw覓語  螳豌  讌  螳豌企
  螳
try {
    // 襯 覦.
    throw {
        name: "MyErrorType", //   
        message: "oops",
        extra: "This was rather embarrassing",
        remedy: genericErrorHandler // 襯 豌襴 
    };
} catch(e) {
    // 蟆 螻旧.
    alert(e.message); // "oops"
    // 襯蟆 襯 豌襴.
    e.remedy(); // genericErrorHandler() 語
}


 襴磯  > 煙 
 Date() 煙襯 誤螻 伎 煙襯
  殊 蟇一 .

More Related Content

What's hot (20)

覦ろ襴渚 蠍一覓碁~蠍一
覦ろ襴渚 蠍一覓碁~蠍一覦ろ襴渚 蠍一覓碁~蠍一
覦ろ襴渚 蠍一覓碁~蠍一
穴襴 覦ろ襴渚 襴
穴襴 覦ろ襴渚 襴穴襴 覦ろ襴渚 襴
穴襴 覦ろ襴渚 襴
Javascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operatorJavascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operator
Young-Beom Rhee
Effective c++ 襴 chapter 8
Effective c++ 襴 chapter 8Effective c++ 襴 chapter 8
Effective c++ 襴 chapter 8
一 蟾
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Young-Beom Rhee
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
NAVER D2
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
Sung-hoon Ma
危磯 C++ ろ磯
危磯 C++ ろ磯危磯 C++ ろ磯
危磯 C++ ろ磯
quxn6
危磯 C++ (7~9)
危磯 C++ (7~9)危磯 C++ (7~9)
危磯 C++ (7~9)
旧 譟
襦語ろ磯 E03 - Javascript intro.
襦語ろ磯 E03 - Javascript intro.襦語ろ磯 E03 - Javascript intro.
襦語ろ磯 E03 - Javascript intro.
Young-Beom Rhee
Javascript
JavascriptJavascript
Javascript
Hong Hyo Sang
危磯 C++ 5,6 ろ磯
危磯 C++ 5,6  ろ磯危磯 C++ 5,6  ろ磯
危磯 C++ 5,6 ろ磯
quxn6
Effective C++ 襴 chapter 3
Effective C++ 襴 chapter 3Effective C++ 襴 chapter 3
Effective C++ 襴 chapter 3
一 蟾
覦ろ襴渚
覦ろ襴渚 覦ろ襴渚
覦ろ襴渚
讌 覲
危磯 C++ 螻給
危磯 C++ 螻給危磯 C++ 螻給
危磯 C++ 螻給
quxn6
Effective c++ 襴 chapter 4
Effective c++ 襴 chapter 4Effective c++ 襴 chapter 4
Effective c++ 襴 chapter 4
一 蟾
螻襴 覦ろ襴渚 覦襭
螻襴 覦ろ襴渚 覦襭螻襴 覦ろ襴渚 覦襭
螻襴 覦ろ襴渚 覦襭
れ 焔 危危蠍
れ 焔 危危蠍れ 焔 危危蠍
れ 焔 危危蠍
Yongha Yoo
貊覦ろ襴渚語ろ磯3
貊覦ろ襴渚語ろ磯3貊覦ろ襴渚語ろ磯3
貊覦ろ襴渚語ろ磯3
Jinhwa Hong
伎 覈 れ
伎 覈 れ伎 覈 れ
伎 覈 れ
SeongHyun Ahn
覦ろ襴渚 蠍一覓碁~蠍一
覦ろ襴渚 蠍一覓碁~蠍一覦ろ襴渚 蠍一覓碁~蠍一
覦ろ襴渚 蠍一覓碁~蠍一
穴襴 覦ろ襴渚 襴
穴襴 覦ろ襴渚 襴穴襴 覦ろ襴渚 襴
穴襴 覦ろ襴渚 襴
Javascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operatorJavascript introduction, dynamic data type, operator
Javascript introduction, dynamic data type, operator
Young-Beom Rhee
Effective c++ 襴 chapter 8
Effective c++ 襴 chapter 8Effective c++ 襴 chapter 8
Effective c++ 襴 chapter 8
一 蟾
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Javascript ろ 螳ロ 貊(Executable Code) ろ 貊ろ(Execution Context), Lexical En...
Young-Beom Rhee
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
NAVER D2
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
0.逮温厩温壊界姻庄沿岳蠍磯蓋(簡3殊姶)
Sung-hoon Ma
危磯 C++ ろ磯
危磯 C++ ろ磯危磯 C++ ろ磯
危磯 C++ ろ磯
quxn6
危磯 C++ (7~9)
危磯 C++ (7~9)危磯 C++ (7~9)
危磯 C++ (7~9)
旧 譟
襦語ろ磯 E03 - Javascript intro.
襦語ろ磯 E03 - Javascript intro.襦語ろ磯 E03 - Javascript intro.
襦語ろ磯 E03 - Javascript intro.
Young-Beom Rhee
危磯 C++ 5,6 ろ磯
危磯 C++ 5,6  ろ磯危磯 C++ 5,6  ろ磯
危磯 C++ 5,6 ろ磯
quxn6
Effective C++ 襴 chapter 3
Effective C++ 襴 chapter 3Effective C++ 襴 chapter 3
Effective C++ 襴 chapter 3
一 蟾
覦ろ襴渚
覦ろ襴渚 覦ろ襴渚
覦ろ襴渚
讌 覲
危磯 C++ 螻給
危磯 C++ 螻給危磯 C++ 螻給
危磯 C++ 螻給
quxn6
Effective c++ 襴 chapter 4
Effective c++ 襴 chapter 4Effective c++ 襴 chapter 4
Effective c++ 襴 chapter 4
一 蟾
螻襴 覦ろ襴渚 覦襭
螻襴 覦ろ襴渚 覦襭螻襴 覦ろ襴渚 覦襭
螻襴 覦ろ襴渚 覦襭
れ 焔 危危蠍
れ 焔 危危蠍れ 焔 危危蠍
れ 焔 危危蠍
Yongha Yoo
貊覦ろ襴渚語ろ磯3
貊覦ろ襴渚語ろ磯3貊覦ろ襴渚語ろ磯3
貊覦ろ襴渚語ろ磯3
Jinhwa Hong

Similar to JavaScript Patterns - Chapter 3. Literals and Constructors (20)

願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
MIN SEOK KOO
Javascript - Function
Javascript - FunctionJavascript - Function
Javascript - Function
wonmin lee
覿覲螳豌 朱 襴″ 焔 豕
覿覲螳豌 朱 襴″ 焔 豕覿覲螳豌 朱 襴″ 焔 豕
覿覲螳豌 朱 襴″ 焔 豕
Hun Yong Song
09 螳豌伎 企 (螻蠍)
09 螳豌伎 企 (螻蠍)09 螳豌伎 企 (螻蠍)
09 螳豌伎 企 (螻蠍)
Javascript prototype & inheritance
Javascript prototype & inheritanceJavascript prototype & inheritance
Javascript prototype & inheritance
Angular2 螳蠍一 Type script螳
 Angular2 螳蠍一 Type script螳 Angular2 螳蠍一 Type script螳
Angular2 螳蠍一 Type script螳
Dong Jun Kwon
ECMA Script 5 & 6
ECMA Script 5 & 6ECMA Script 5 & 6
ECMA Script 5 & 6
sewoo lee
More effective c++ chapter1,2
More effective c++ chapter1,2More effective c++ chapter1,2
More effective c++ chapter1,2
覓語
7 JavaScript Part2
7 JavaScript Part27 JavaScript Part2
7 JavaScript Part2
Hacosa js study 7th
Hacosa js study 7thHacosa js study 7th
Hacosa js study 7th
Seong Bong Ji
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7
Yeonah Ki
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
[2011 04 11]mock_object 螳
[2011 04 11]mock_object 螳[2011 04 11]mock_object 螳
[2011 04 11]mock_object 螳
Jong Pil Won
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
Min-soo Park
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Circulus
Es2015 Simple Overview
Es2015 Simple OverviewEs2015 Simple Overview
Es2015 Simple Overview
Kim Hunmin
觜螻旧 覦ろ襴渚 蠍
觜螻旧 覦ろ襴渚 蠍觜螻旧 覦ろ襴渚 蠍
觜螻旧 覦ろ襴渚 蠍
jeong seok yang
願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
願 覦 Chap.11 蠍磯蓋 API 企(java)(KOR)
MIN SEOK KOO
Javascript - Function
Javascript - FunctionJavascript - Function
Javascript - Function
wonmin lee
覿覲螳豌 朱 襴″ 焔 豕
覿覲螳豌 朱 襴″ 焔 豕覿覲螳豌 朱 襴″ 焔 豕
覿覲螳豌 朱 襴″ 焔 豕
Hun Yong Song
09 螳豌伎 企 (螻蠍)
09 螳豌伎 企 (螻蠍)09 螳豌伎 企 (螻蠍)
09 螳豌伎 企 (螻蠍)
Javascript prototype & inheritance
Javascript prototype & inheritanceJavascript prototype & inheritance
Javascript prototype & inheritance
Angular2 螳蠍一 Type script螳
 Angular2 螳蠍一 Type script螳 Angular2 螳蠍一 Type script螳
Angular2 螳蠍一 Type script螳
Dong Jun Kwon
ECMA Script 5 & 6
ECMA Script 5 & 6ECMA Script 5 & 6
ECMA Script 5 & 6
sewoo lee
More effective c++ chapter1,2
More effective c++ chapter1,2More effective c++ chapter1,2
More effective c++ chapter1,2
覓語
7 JavaScript Part2
7 JavaScript Part27 JavaScript Part2
7 JavaScript Part2
Hacosa js study 7th
Hacosa js study 7thHacosa js study 7th
Hacosa js study 7th
Seong Bong Ji
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱#2] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7
Yeonah Ki
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
[IT蠍一豺朱 #4] 螻蠍覦ろ襴渚 for AngularJS, React_螻蠍覦ろ襴渚,AngularJS,React覓瑚″
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
[2011 04 11]mock_object 螳
[2011 04 11]mock_object 螳[2011 04 11]mock_object 螳
[2011 04 11]mock_object 螳
Jong Pil Won
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
NHNNEXT 螳蟆渚14 Subway Rocket Team Study 3rd C++
Min-soo Park
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Startup JavaScript 5 - 螳豌(Date, RegExp, Object, Global)
Circulus
Es2015 Simple Overview
Es2015 Simple OverviewEs2015 Simple Overview
Es2015 Simple Overview
Kim Hunmin
觜螻旧 覦ろ襴渚 蠍
觜螻旧 覦ろ襴渚 蠍觜螻旧 覦ろ襴渚 蠍
觜螻旧 覦ろ襴渚 蠍
jeong seok yang

JavaScript Patterns - Chapter 3. Literals and Constructors

  • 2. 覃伎 螳豌, 覦一, 蠏 煙 襴磯伎 蟯 觜 襴磯 蠍磯 磯 蟆 譬 伎 煙 煙 螻 襴磯 蠍磯 !
  • 3. 1 螳豌 襴磯 企-螳 伎 企 るジ 語伎 郁 覦一癌螻 螳 螳 覃 覃
  • 4. // 觜 螳豌伎 . var dog = {}; // 襦狩 襯 豢螳. dog.name = "Benji"; // 企 覃襯 豢螳. dog.getName = function () { return dog.name; };
  • 5. 襦狩一 覃 螳 覲蟆渚 . dog.getName = function () { // 覃螳 貊 螳 覦襦 . return "Fido"; }; 襦狩磯 覃襯 . delete dog.name; るジ 襦狩磯 覃襯 豢螳. dog.say = function () { return "Woof!"; }; dog.fleas = true;
  • 6. 螳豌 襴磯 蠍磯 var dog = { name: "Benji", getName: function() { return this.name; } };
  • 7. 觜 螳豌 覯渚 觜 螳豌企 . {} 螳豌伎^谿 企 Object.prototype 觜伎も = 覦 蟆 襦狩郁 .
  • 8. 螳豌 襴磯 覓碁 蠏豺 螳豌企ゼ 譴蟯碁 螳朱. ({ }) 螳豌 伎 襦狩一 覃襯 狩襦 覿襴. 襷讌襷 企-螳 れ 狩螳 れ願覃 IE 螳 覦. 襦狩磯螻 襦狩 螳 貊襦朱 覿襴. 螳豌企ゼ 覲 麹 譴蟯 れ 碁 貊襦 觜朱┨讌 襦 .
  • 9. 煙 襦 螳豌 燕蠍 // 豌 覯讌 覦覯 - 襴磯 var car = { goes: far }; // るジ 覦覯 - 伎 煙 // 蟆所: 覦覯 壱伎企. var car = new Object(); car.goes = far; 讌щ! 覯 覲 螻殊 !
  • 10. 螳豌 煙 Object() 煙螳 語襯 覦 . 壱伎朱 覲伎.
  • 11. // 觜 螳豌 var o = new Object(); console.log(o.constructor === Object); // true // 螳豌 var o = new Object(1); console.log(o.constructor === Number); // true console.log(o.toFixed(2)); // "1.00" // 覓語 螳豌 var o = new Object("I am a string"); console.log(o.constructor === String); // true // 朱 螳豌伎 substring()企朱 覃螳 讌襷 覓語 螳豌伎 . console.log(typeof o.substring); // "function" // 覿襴 螳豌 var o = new Object(true); console.log(o.constructor === Boolean); // true
  • 12. 2 煙 覦 企るゼ 螳豌企ゼ 燕 覦螻 讌襷, 覦ろ襴渚語 蠏語 訖企.
  • 13. var Person = function(name) { this.name = name; this.say = function() { return "I am " + this.name; }; }; var adam = new Person("Adam"); adam.say(); // "I am Adam"
  • 14. var Person = function(name) { // 螳豌 襴磯企 襦 螳豌企ゼ 燕. // var this = {}; // 襦狩一 覃襯 豢螳. this.name = name; this.say = function() { return "I am " + this.name; }; // this襯 覦. // return this; }; var adam = new Person("Adam"); adam.say(); // "I am Adam"
  • 15. 煙 覦 螳 煙 覓旧朱 this襯 覦 覦 螳 磯 . (, 螳豌企) 螳豌願 朱? 覓伎螻 this襯 覦.
  • 16. var Objectmaker = function() { // 煙螳 るジ 螳豌企ゼ 覦蠍磯 蟆一蠍 // 覓語 れ 'name' 襦狩磯 覓伎 this.name = "This is it"; // 襦 螳豌企ゼ 燕 覦 var that = {}; that.name = "And that's that"; return that; }; // ろ誤企慨 var o = new Objectmaker(); console.log(o.name); // "And that's that"
  • 17. 3 new襯 螳 れ 螳ロ 貅伎 : new襯 觜朱┨. 煙 覦 this螳 螳豌企ゼ 螳 襴り 企襴
  • 18. // 煙 function Waffle() { this.tastes = "yummy"; } // 襦 螳豌 var good_morning = new Waffle(); console.log(typeof good_morning); // "object" console.log(good_morning.tastes); // "yummy" // 壱: // 'new'襯 觜朱┨. var good_morning = Waffle(); console.log(typeof good_morning); // "undefined" console.log(window.tastes); // "yummy"
  • 19. // 煙 function Waffle() { this.tastes = "yummy"; } // 襦 螳豌 ECMAScript 5 var good_morning = new Waffle(); ろ碁Ν 覈 this螳 console.log(typeof good_morning); // "object" console.log(good_morning.tastes); // "yummy" 螳豌企ゼ 螳襴れ 襦 豌襴 // 壱: // 'new'襯 觜朱┨. var good_morning = Waffle(); console.log(typeof good_morning); // "undefined" console.log(window.tastes); // "yummy"
  • 20. 覈覈 蠏豺 煙 覈 : 豌蠍 覓語 朱 覃 : 豌蠍 覓語
  • 21. that function Waffle() { var that = {}; that.tastes = "yummy"; return that; } 覓語 : 襦螻殊 郁屋螻襴襯 企襴
  • 22. れる襯 語 煙 function Waffle() { if ( !(this instanceof Waffle) ) { return new Waffle(); } this.tastes = yummy; } Waffle.prototype.wantAnother = true;
  • 23. れる襯 語 煙 function Waffle() { if ( !(this instanceof arguments.callee) ) { return new Waffle(); } this.tastes = yummy; } ECMAScript 5 Strict Mode Waffle.prototype.wantAnother = true;
  • 24. 4 覦一 襴磯 // 螳 襯 螳讌 覦一 // 蟆所: 壱 var a = new Array("itsy", "bitsy", "spider"); // 螳 覦一 var a = ["itsy", "bitsy", "spider"]; console.log(typeof a); // 覦一企 螳豌伎願鍵 覓語 "object"螳 豢 console.log(a.constructor === Array); // true
  • 25. 覦一 煙 轟伎 // 螳 襯 螳讌 覦一伎 var a = new Array(3); console.log(a.length); // 3 console.log(typeof a[0]); // undefined // RangeError螳 覦 var a = new Array(3.14); console.log(typeof a); // undefined
  • 26. 覦一伎語 覲 覦覯 // ECMAScript 5 讌讌 蟆曙 if (typeof Array.isArray === "undefined") { Array.isArray = function (arg) { return Object.prototype.toString.call(arg) === "[object Array]"; }; } Array.isArray([]); // true
  • 27. 5 JSON 襦狩磯 一危襦 螳語 . 蠏 襴磯伎 .
  • 29. 6 蠏 襴磯 // 蠏 襴磯 var re = //gm; // 煙 var re = new RegExp("", "gm");
  • 30. 蠏 襴磯 覓碁 function getRE() { var re = /[a-z]/; re.foo = "bar"; return re; } var reg = getRE(), re2 = getRE(); console.log(reg === re2); // true reg.foo = "baz"; console.log(re2.foo); // "baz"
  • 31. 蠏 襴磯 覓碁 function getRE() { var re = /[a-z]/; re.foo = "bar"; return re; } ECMAScript 5 var 襴磯伎 企 reg = getRE(), 襦 螳豌願 re2 = getRE(); console.log(reg === re2); // true reg.foo = "baz"; console.log(re2.foo); // "baz"
  • 32. 7 一危 Number() String() Boolean()
  • 33. // 一危 覓語伎 螳豌企 var s = "hello"; console.log(s.toUpperCase()); // "HELLO" // 螳 豌企朱 螳豌伎 "monkey".slice(3, 6); // "key" // 襷谿螳讌 (22 / 7).toPrecision(3); // "3.14"
  • 34. // 襦狩 レ 覿螳 var greet = Hello there; greet.smile = true; typeof greet.smile; // undefined // new襯 讌 蟆曙 一危 朱 覲 typeof Number(1); // number typeof Number(1); // number typeof String(1); // string
  • 35. 8 螳豌 蠍磯蓋 襦狩 name : 螳豌企ゼ 燕 煙 name 襦狩 message : 螳豌企ゼ 燕 煙 覓語 throw覓語 螳豌 讌 螳豌企 螳
  • 36. try { // 襯 覦. throw { name: "MyErrorType", // message: "oops", extra: "This was rather embarrassing", remedy: genericErrorHandler // 襯 豌襴 }; } catch(e) { // 蟆 螻旧. alert(e.message); // "oops" // 襯蟆 襯 豌襴. e.remedy(); // genericErrorHandler() 語 }
  • 37. 襴磯 > 煙 Date() 煙襯 誤螻 伎 煙襯 殊 蟇一 .