About this webinar …
Logo
• Not a JavaScript tutorial session. In an hour not possible too
• A complete preparation strategy and syllabus guidance.
• No LWC, entire session is about multiple-choice examination.
• Valuable online resources for preparation.
• Tips and tricks.
For attendees :
Note down your questions ( and slide no) if any, we can discuss
during Q & A at the end.
5
Exam outline and split
Logo
Variables, Types and
Collections, 23%
Object, Function and
Classes, 25%
Browser and Events, 17%
Debugging and
Error Handling,
7%
Asynchronous Programming,
13%
Server Side JavaScript, 8%
Testing, 7%
8
Variables, Types and Collections
Logo
• Data types in JavaScript
• JavaScript case sensitivity, keywords, what is es6
• JavaScript basic grammar variable declarations, data types and collections
• Understanding the dynamically typed language
• Primitive
• Non-Primitive (object, function, null, undefined)
• Primitive Wrappers (e.g.: String, Boolean, Number classes)
• typeof, unary operator, ternary,instanceof, difference b/w “==“ and “===“
operators
• isNaN, parseInt, parseFloat
• Type coercion & impacts (especially with “+” operator)
• Implicit and explicit type conversion
• How to check null & undefined
• Truthy & Falsie Evaluations
• Comparing with “===“ and Object.is()
9
Variables, Types and Collections
Logo
• When to use
• let, var, const, no declaration (global)
• What is the difference between above ? (in different scope )
• global variable & its impacts in browser
• Variable hoisting
• Template literals (String interpolation)
• String datatype in JavaScript
• String wrapper methods that support string manipulation
• Concatenating with “+” operator with different datatypes like null, undefined
• Date object methods
10
Variables, Types and Collections
Logo
• Declaring and initializing Arrays in javascript
• Using Array constructor (overloaded with 2 different params)
• Using Array literals
• Array wrapper methods
• Higher order functions that support array manipulations
• Filter,splice,slice,reduce,sort,etc..
• Declaring map, set collections in JavaScript. (only knowing syntax is enough)
• Using spread and rest operator syntaxes with array and objects
• Destructuring assignments (object, array)
• JSON manipulations:
• stringify
• parse
• declaring a valid json data format without error
• JSON literal vs object literal the difference
11
Object, Functions and Classes
Logo
• Declaring and initializing object in different ways
• Using object literal
• Using function constructor
• Using Object constructor
• Using Object.create() method
• Different methods available in Object wrapper class
• Global object basics
• Difference ways of extending object/freezing object to not extend.
14
Object, Functions and Classes
Logo
• Functions
• Named functions, anonymous functions, function expressions, arrow
functions
• arrow function with lexical scope
• Method in JavaScript (difference between normal function and a
method in js)
• Different scopes: block scope, global scope
• validity of let, var variables in different scopes
• apply(), call() and bind() method from Function wrapper
• Closures
• arguments in functions
• destructuring function arguments
• this keyword in different scopes (global, local) - understanding ‘this’
• this keyword inside arrow function
• Immediately invoked function designs in JavaScript 15
Object, Functions and Classes
Logo
• Prototypes in JavaScript
• need to prototype (JavaScript inheritance concept)
• Understanding the prototype chain
• Accessing parent object property or functions from child
• __proto__ and object.prototype
• If method has same name in parent obj and prototype object, which has highest
priority during method call ?
• Classes
• Defining a class
• strict mode basics
• constructor, super keyword
• extends keyword (inheritance using class)
• Overriding methods or constructors in sub class
• static and instance members of the class
• getters/setters
• Modules
• Understanding modules
• Import/export keyword
• default exports, named exports,exporting all with “*”
16
7. Predict the output ? 8. Predict the output ?
Sample questions
18
Browser and Events
Logo
• DOM manipulations
• getElementById, getElementByClassName,getElementByClassName
• querySelector, querySelectorAll, querySelector with class (“.” operator) and id (“#” operator)
• Element properties: children,innerHTML, innerText,getAttribute,setAttribute
• Using classList property to add/remove css classes.
• Using style property to add new css styles
• Events
• addEventListener, removeEventListener
• with or without “useCapture” param in addEventListener
• capturing phase and bubbling phase
• event.stopPropagation() and event.prevetDefault()
• Declaring customEvemt and dispatching custom event.
• BOM
• Window
• History
• Location
• Using browser Dev tools to manipulate/investigate web page behavior.
19
Serverside Javascript
Logo
• Understanding server-side JavaScript
• Basics of Node.js
• What is package.json and uses, how to create, package.json properties
• Check installed node.js version and npm version using command palette.
• Node.js core module basics
• NPM Package Manager basics
• Managing dependencies
• How to install packages using npm package manager
• Sematic versioning and semver shorthands
• Understanding event-driven nature, triggering event basics in node.js
• Creating web server with node.js (only basics)
• Debugging node server with command palette. 27
Testing
Logo
• Software testing basics
• Types of software testing
• Blackbox testing, Whitebox testing
• false positive vs false negative vs true positive vs true negative
• Effectively using console.assert in javascript.
• With or without string substitution.
29
Valuable online resources for preparation
Logo
Blogs:
• http://santanuboral.blogspot.com/2020/08/SFDC-JavaScriptDevI-Cert.html (don’t
miss the 6-page cheat sheet)
Video tutorial:
• Salesforce troop series on YouTube by Nikhil. (A complete series, listen and side by
side workout in console or JS file)
Sample questions for practicing:
• https://github.com/lydiahallie/javascript-questions
• https://www.salesforcetroop.com/javascriptmcq/
• https://play.google.com/store/apps/details?id=com.testyourself.ionic (android app)
• https://play.google.com/store/apps/details?id=com.doasido4u.jsquiz (android app)
Understand the
exam outline
In-depth
understanding of
concepts
Practice !
Practice !
Practice !
32
aa
Tips & Tricks
Logo
• Believe in the preparation that you did and the time that you spent.
• During your examination depend on your concept wise understandings. Keep
guessing as the final option.
• In the available options, Eliminate the wrong one(s) first.
• Pay attention to “Select 2 options” questions. Nearly 45% to 50% questions will ask
you to select correct 2 options.
• Don’t spend more than 2 minutes for a question, if you need more time, eliminate the
wrong one(s), choose the correct one(s) that you guess and keep the question in
review.
• Don’t keep all the question in review unless you are not confident.
• Don’t panic when questions comes with 10 to 15 lines of code. Though question is
big with several lines of code, they will be specific about one concept only (E.g., like
promises and chaining)
• Remember you have,
• 60 questions (no 5 non-scored questions like PD1 or PAB)
• 105 minutes
• Passing score: 65%
33