Day 20:ES6 的箭頭函數 (Arrow Functions)
PreviousDay 19:函數定義 (Function Definition) 的 100 種寫法NextDay 21:箭頭函數 (Arrow Functions) 的 this 和你想的不一樣 (1)
Last updated
Was this helpful?
Was this helpful?
var add = (n1 ,n2) => {
return n1 + n2;
};
console.log( add(3, 6) ); // 9var add = (n1 ,n2) => n1 + n2;
console.log( add(3, 6) ); // 9var intro = (name) => {
return `Hi, I am ${name}!`;
};
console.log( intro('OneJar') ); // "Hi, I am OneJar!"var intro = name => {
return `Hi, I am ${name}!`;
};
console.log( intro('OneJar') ); // "Hi, I am OneJar!"var intro = name => `Hi, I am ${name}!`;
console.log( intro('OneJar') ); // "Hi, I am OneJar!"var sayHello = () => `Hello OneJar!`;
console.log( sayHello() ); // "Hello OneJar!"console.log( sayHello ); //undefined
console.log( sayHello() ); // TypeError: sayHello is not a function
var sayHello = () => `Hello OneJar!`;const add = function (n1, n2) {
console.log(arguments); // Arguments(3) [100, 200, 300]
return n1 + n2;
};
console.log( add(100, 200, 300) ); //300const add = function (n1, n2) {
return arguments[0] + arguments[1];
};
console.log( add(100, 200, 300) ); //300const add = (n1, n2) => {
console.log(arguments); // ReferenceError: arguments is not defined
return n1 + n2;
};
console.log( add(100, 200, 300) ); // 300function getObj(){
console.log(arguments); // Arguments(3) [1, 2, 3]
return {
f: () => {
console.log(arguments); // Arguments(3) [1, 2, 3]
}
};
}
getObj(1, 2, 3).f(4, 5);var getObj = () => {
console.log(arguments); // ReferenceError: arguments is not defined
return {
f: () => {
console.log(arguments); // ReferenceError: arguments is not defined
}
};
}
getObj(1, 2, 3).f(4, 5);var whatsThis = function() {
return this;
};
var player = {};
player.f = whatsThis;
console.log(player.f() === player); // truevar whatsThis = () => {
return this;
};
var player = {};
player.f = whatsThis;
console.log(player.f() === player); // false
console.log(player.f() === window); // true