Just a note about TypeScript Playground, an online REPL for TypeScript. Been around a while, but really useful for trying out a quick bit of TypeScript.
I’ve started playing with the JavaScript SVG library RaphaelJS. It looks a really nice library but the very first hurdle I came across was how to set the background colour of the paper. There didn’t seem to be any help in the documentation and trying ‘paper.attr(“fill”, “#f00”);’ resulted in the error Uncaught TypeError: Object #<a> has no method ‘attr’. A less than optimal solution might be to create a rectangle on the paper that is . . .
Following on from my original post of learning how to put JavaScript together it’s been a really productive week. Have I managed to write JavaScript that’s easy to test? No, but I’ve wrapped up some reasonably complex logic into a component that can have some of its functionality tested! At the moment I’ve settled on QUnit as my JS unit testing framework and have a couple of tests verifying the default values of exposed properties . . .
After many years of trial and error / practise I feel fairly happy that I can write clean, testable .NET / C# code, which is free of any external dependencies which traditionally make unit testing harder. It’s fair to say that I’m a convert to TDD; having implemented it on two separate commercial projects and seen the benefits of the improved maintainability of the codebase over time. But what about Javascript? Thanks to Selenium and . . .
A common problem when doing value comparison inside of Javascript is the automatic type conversion that happens for you, this means all the following statements resolve to “true”. 1 == 1; 1 == ‘1’; 1 == “1”; As a little bonus snippet in a post by Steve Wellens he provides an answer to the problem, the triple equals (“===”) and it’s corresponding, not equal (“!==”). These comparison operators perform a type check as well as . . .
I’ve just spent a very painful hour or so debugging a jQuery issue that turned out to be a self inflicted problem! The site I was working on had been working perfectly all morning, then a particular page began to fail on a refresh (browser F5). It was possible to browse to the page and it displayed correctly, but press F5 to refresh the page and it failed on the statement below. Checking the contents . . .