Skip to content

Instantly share code, notes, and snippets.

@piyukore06
Created February 26, 2019 08:21
Show Gist options
  • Save piyukore06/73a841e2498d44554448f991a7b014b7 to your computer and use it in GitHub Desktop.
Save piyukore06/73a841e2498d44554448f991a7b014b7 to your computer and use it in GitHub Desktop.
let getDimentions = (length, height) => ({length, height});
// It is same as
getDimentions = (length, height) => {
return {length: length, height: height};
};
// function arguments defaults: Old way
getDimentions = (length, height) => {
if (!length) {
length = 0;
}
if (!height) {
height = 0;
}
return {length, height};
};
// Better Way: function default parameters
getDimentions = (length = 0, height = 0) => ({length, height});
// destructuring
let {height} = getDimentions(23, 56);
// default functions object parameters
let getRGB = ({r,g,b}) => `color: (${r}, ${g}, ${b});`;
// It is same as
getRGB = (color) => {
const r = color.r;
const g = color.g;
const b = color.b;
return `color: (${r}, ${g}, ${b});`; // or 'color: (' + r + '), (' + g + '), (' + b ');';
};
// Default for Object
getRGB = ({r,g,b} = {r: '', g: '', b: ''}) => `color: (${r}, ${g}, ${b});`;
// What if I want default for Object parameters
getRGB = ({r = '',g = '',b = ''} = {r: '', g: '', b: ''}) => `color: (${r}, ${g}, ${b});`;
// Tag function (with template literals)
let greet = (...arguments) => {
console.log(arguments);
}
let name = 'Joe';
let age = 22;
greet`I'm ${name}. I'm ${age} years old.`;
greet = (strings, ...values) => {
console.log(strings, values);
}
// We would get following
// strings = ['I'm ', '. I'm ', ' years old.']
// values = ['Joe', 22]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment