I hereby claim:
- I am vibhanshuc on github.
- I am vibhanshu (https://keybase.io/vibhanshu) on keybase.
- I have a public key ASCbWudPsa9ONq7cwt_KhxghIKeumsghMVclP6XQkNSfiwo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| function calculateBill(total, tax = 0.15, tip = 0.05){ | |
| console.log(total + (total * tax) + (total * tip)); | |
| } | |
| // usage | |
| calculateBill(500); // 600 | |
| calculateBill(500, 0.2); // 625 |
While attempting to explain JavaScript's reduce method on arrays, conceptually, I came up with the following - hopefully it's helpful; happy to tweak it if anyone has suggestions.
JavaScript Arrays have lots of built in methods on their prototype. Some of them mutate - ie, they change the underlying array in-place. Luckily, most of them do not - they instead return an entirely distinct array. Since arrays are conceptually a contiguous list of items, it helps code clarity and maintainability a lot to be able to operate on them in a "functional" way. (I'll also insist on referring to an array as a "list" - although in some languages, List is a native data type, in JS and this post, I'm referring to the concept. Everywhere I use the word "list" you can assume I'm talking about a JS Array) This means, to perform a single operation on the list as a whole ("atomically"), and to return a new list - thus making it much simpler to think about both the old list and the new one, what they contain, and
| from scrapy import cmdline | |
| from swishpick.pipelines import * | |
| from datetime import datetime | |
| import subprocess | |
| import time | |
| _week_day_relations = { | |
| 'Monday': 1, | |
| 'Tuesday': 2, |
| // Create a closure | |
| var SecretStore = (function() { | |
| var data, secret, newSecret; | |
| // Emulation of a private variables and functions | |
| data = 'secret'; | |
| secret = function() { | |
| return data; | |
| } | |
| newSecret = function(newValue) { |
| (function () { | |
| 'use strict'; | |
| function Person(name, age, gender) { | |
| this.name = name; | |
| this.age = age; | |
| this.gender = gender; | |
| } | |
| Person.prototype.getName = function () { |
| (function () { | |
| 'use strict'; | |
| function Person(name, age, gender) { | |
| this.name = name; | |
| this.age = age; | |
| this.gender = gender; | |
| } | |
| Person.prototype.getName = function () { |