사내 기술 세미나를 다시 시작한다. 나는 그 첫번째 주제로 `Object-oriented Javascript`를 택했다.
예전에 학습했던 [Tuts+ 강의](https://code.tutsplus.com/courses/object-oriented-javascript)를 다시 정리하는 계기가 되었다.
15. this
is
» window in global context
» the object in an object
16. var name = 'Jane';
var greet = function() {
return 'My name is ' + this.name;
}
var person = {
name: 'John',
greet: greet
};
greet(); // ?
person.greet(); // ?
17. var name = 'Jane';
var greet = function() {
return 'My name is ' + this.name;
}
var person = {
name: 'John',
greet: greet
};
greet(); // My name is Jane
person.greet(); // My name is John
18. var requestAsync = function(url, callback) {
var data = 10;
callback(data);
};
var requestor = {
value: 20,
process: function(data) {
var sum = this.value + data;
console.log(sum);
},
request: function() {
var url = 'http://example.com';
requestAsync(url, this.process);
}
};
requestor.request(); // ?
19. var requestAsync = function(url, callback) {
var data = 10;
callback(data);
};
var requestor = {
value: 20,
process: function(data) {
var sum = this.value + data;
console.log(sum);
},
request: function() {
var url = 'http://example.com';
requestAsync(url, this.process);
}
};
requestor.request(); // NaN