How to dictate a triple equals for strict equality
Say “triple equals” to produce ===, spaced on both sides, so “if value triple equals null” assembles as if value === null. One phrase reaches the operator, and because the three-character form has its own table entry, you never build it by saying “equals” three times.
A seven-word null check runs about 8.1 seconds typed against about 2.6 seconds spoken. (sources: Dhakal, Feit, Kristensson & Oulasvirta, “Observations on Typing from 136 Million Keystrokes”, CHI 2018, 168,000 participants, 136 million keystrokes; Yuan, Liberman & Cieri, “Towards an Integrated Understanding of Speaking Rate in Conversation”, Interspeech 2006, 2,438 American English telephone conversations (Switchboard corpus). The speech figure is conversational rate, not a measured dictation rate — no such measurement exists.)
if parsedValue === null return earlyThis tool runs entirely in your browser. Nothing you type is sent anywhere, stored, or logged.
Step by step
- 1
Say the whole phrase
Speak “triple equals” as one unit. VoiceGem holds a dedicated entry for the three-character operator, so it arrives complete rather than assembled from parts.
- 2
Place it between the operands
Say the value, the phrase, then what you are comparing against. The operator keeps its spaces on both sides, matching how JavaScript formatters lay out a strict comparison.
- 3
Say the literal you mean
Speak null, true or a quoted string directly. Words that are not in VoiceGem's table pass through untouched, which is why JavaScript keywords survive dictation without any special handling.
- 4
Typing it instead
Press the equals key three times. For a single comparison this is faster, and a JavaScript linter will usually flag the loose form if you get it wrong.
The strict operator is a table entry, not a composition
Three characters, one lookup. VoiceGem holds === as its own entry with a single spoken phrase, which is why saying “triple equals” never risks producing an assignment followed by a comparison or any other partial form.
Deciding what to enumerate and what to compose is the design judgement in a lookup table. Compound comparisons like >= are composed because their parts sit adjacent naturally; === is enumerated because assembling it from smaller entries would be fragile in exactly the place JavaScript developers care about most.
Where the manual way breaks
Three presses of an unmodified key is trivial and typing wins on the operator alone. The keyboard is not the problem here.
Type-guard lines are the shape worth dictating. A typeof check against a quoted string mixes an operator, a keyword and a pair of quote characters, and the quotes in particular are a chord your left hand has to find twice. Dictating the whole guard means the operator and both quotes land in one pass, and VoiceGem produces the identical line every time you say it.
Doing this somewhere else? the full speech-to-code converter, the double equals comparison, the assignment equals sign, or the greater-than sign and closing angle bracket, step by step.
Common questions
Say “not equals equals”. The two-character !== is built from the not-equals entry followed by a single equals, both of which keep their spacing and land adjacent.
No. The strict operator is one of twelve characters in VoiceGem's table with exactly one spoken phrase.
Yes. Any word not in the lookup table passes through untouched, so null, true, typeof and const all arrive as written with no special handling.
Dictate a typeof guard and see both quote characters land.
Open the tool