{"version":3,"sources":["webpack:///./src/utils/popup/index.js","webpack:///./src/views/TerraIndexCodeConventions.vue","webpack:///./src/assets/AllPossibleIconNames.js","webpack:///src/views/TerraIndexCodeConventions.vue","webpack:///./src/views/TerraIndexCodeConventions.vue?d321","webpack:///./src/views/TerraIndexCodeConventions.vue?f6f2","webpack:///./src/components/_shared/footerbutton.vue?27d2","webpack:///./src/assets/img/link.png","webpack:///./src/components/_shared/footer.vue?4e6c","webpack:///./src/utils/popup/web.js","webpack:///./src/views/TerraIndexCodeConventions.vue?c0da","webpack:///./src/components/_shared/footer.vue","webpack:///./src/components/_shared/footerbutton.vue","webpack:///src/components/_shared/footerbutton.vue","webpack:///./src/components/_shared/footerbutton.vue?158d","webpack:///./src/components/_shared/footerbutton.vue?e6b1","webpack:///src/components/_shared/footer.vue","webpack:///./src/components/_shared/footer.vue?9352","webpack:///./src/components/_shared/footer.vue?6cc7"],"names":["web","require","render","_vm","this","_c","_self","staticClass","staticStyle","_v","_m","attrs","_l","icons","icon","key","_s","class","on","endReview","staticRenderFns","allPossibleIcons","name","components","AppHeader","AppFooter","data","popupVisible","methods","startCodeReview","document","getElementById","style","display","classList","add","remove","component","module","exports","popup","text","sweetAlert","translations","t","acceptPopup","title","acceptCallback","cancelCallback","Promise","resolve","reject","swal","type","showCancelButton","confirmButtonColor","confirmButtonText","cancelButtonText","closeOnConfirm","isConfirm","Error","alertAsync","message","timeout","cssClass","cls","alertEl","querySelector","$","html","slideDown","setTimeout","slideUp","concat","$route","meta","buttons","left","visibleLeftButtons","button","$t","buttonTooltip","shouldDisableButton","nativeOn","$event","buttonClick","handler","shouldShowReportButton","navigateToReports","_e","right","visibleRightButtons","clickHandler","containerClass","id","className","props","String","required","_regeneratorRuntime","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","Popup","config","platform","default","footerbutton","root","computed","shouldShowButton","includes","shouldExportReportButton","params","projectId","p","visible","translation","requiresSelection","selections","onSelectionChanged","sender","eventHandler","mainComponent","matched","instances","navigateToExports","_this","_callee","_context","$store","workingObjectChanged","saveComponentDataFunction","window","open","apps","export","focus","_this2","_callee2","_context2","report"],"mappings":"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,uBACA,yBACA,wBACA,0BACA,iBACA,wBACA,yBACA,2BACA,oBACA,uBACA,mBACA,iBACA,iBACA,kBACA,kBACA,iBACA,0BACA,0BACA,qBACA,iBACA,kBACA,iBACA,oBACA,yBACA,yBACA,kBACA,yBACA,0BACA,sBACA,uBACA,wBACA,oBACA,0BACA,sBACA,uBACA,0BACA,sBACA,uBACA,uBACA,wBACA,qBACA,uBACA,sBACA,wBACA,yBACA,6BACA,iBACA,iBACA,iBACA,qBACA,sBACA,yBACA,kBACA,qBACA,mBACA,oBACA,mBACA,uBACA,yBACA,oBACA,0BACA,yBACA,wBACA,4BACA,8BACA,gBACA,qBACA,iBACA,wBACA,sBACA,wBACA,uBACA,sBACA,oBACA,sBACA,+BACA,8BACA,4BACA,8BACA,kBACA,mBACA,kBACA,mBACA,sBACA,uBACA,sBACA,sBACA,wBACA,iBACA,kBACA,oBACA,gBACA,gBACA,iBACA,6BACA,iCACA,0BACA,8BACA,+BACA,mCACA,sBACA,mBACA,0BACA,wBACA,mBACA,kBACA,oBACA,uBACA,mBACA,iBACA,iBACA,kBACA,mBACA,mBACA,iBACA,wBACA,yBACA,0BACA,wBACA,wBACA,wBACA,qBACA,oBACA,mBACA,uBACA,qBACA,sBACA,kBACA,kBACA,qBACA,qBACA,sBACA,yBACA,wBACA,sBACA,sBACA,sBACA,2BACA,8BACA,2BACA,yBACA,yBACA,2BACA,eACA,sBACA,sBACA,qBACA,iBACA,kBACA,iBACA,iBACA,mBACA,sBACA,iBACA,kBACA,iBACA,mBACA,mBACA,yBACA,iBACA,uBACA,gBACA,kBACA,kBACA,sBACA,iBACA,sBACA,uBACA,qBACA,oBACA,gBACA,gBACA,gBACA,gBACA,kBACA,gBACA,kBACA,sBACA,6BACA,sBACA,8BACA,4BACA,2BACA,yBACA,gBACA,kBACA,uBACA,sBACA,uBACA,4BACA,6BACA,gCACA,oCACA,8BACA,kCACA,+BACA,2BACA,0BACA,4BACA,yBACA,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","file":"js/conventions.c8893476.js","sourcesContent":["'use strict'\n\nexport default {\n web: require('./web')\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"body\"},[_c('app-header'),_c('div',{staticStyle:{\"margin-left\":\"15px\",\"margin-right\":\"15px\"}},[_c('h1',[_vm._v(\"Google TypeScript Style Guide\")]),_vm._m(0),_c('div',{staticClass:\"col-md-10\"},[_c('h1',[_vm._v(\"TypeScript style guide\")]),_vm._m(1),_vm._m(2),_vm._m(3),_vm._m(4),_c('p',[_vm._v(\" Identifiers must use only ASCII letters, digits, underscores (for constants and structured test method names), and the '\\\\(' sign. Thus each valid identifier name is matched by the regular expression `[\\\\)\\\\w]+`. \")]),_vm._m(5),_vm._m(6),_vm._m(7),_vm._m(8),_vm._m(9),_vm._m(10),_vm._m(11),_vm._m(12),_vm._m(13),_c('p',[_vm._v(\"Some concrete examples of this rule:\")]),_vm._m(14),_vm._m(15),_vm._m(16),_vm._m(17),_vm._m(18),_vm._m(19),_vm._m(20),_vm._m(21),_vm._m(22),_vm._m(23),_vm._m(24),_vm._m(25),_c('p',[_vm._v(\" JSDoc comments are understood by tools (such as editors and documentation generators), while ordinary comments are only for other humans. \")]),_vm._m(26),_vm._m(27),_vm._m(28),_vm._m(29),_c('p',{staticClass:\"exception\"},[_vm._v(\" Exception: Symbols that are only exported to be consumed by tooling, such as @NgModule classes, do not require comments. \")]),_vm._m(30),_vm._m(31),_vm._m(32),_vm._m(33),_vm._m(34),_vm._m(35),_vm._m(36),_vm._m(37),_vm._m(38),_vm._m(39),_vm._m(40),_vm._m(41),_vm._m(42),_vm._m(43),_c('p',[_vm._v(\" If needed, document parameters at call sites inline using block comments. Also consider named parameters using object literals and destructuring. The exact formatting and placement of the comment is not prescribed. \")]),_vm._m(44),_vm._m(45),_vm._m(46),_vm._m(47),_vm._m(48),_vm._m(49),_vm._m(50),_c('p',[_vm._v(\" Restricting visibility of properties, methods, and entire types helps with keeping code decoupled. \")]),_vm._m(51),_vm._m(52),_vm._m(53),_vm._m(54),_vm._m(55),_c('p',[_vm._v(\" Constructor calls must use parentheses, even when no arguments are passed: \")]),_vm._m(56),_vm._m(57),_c('p',[_vm._v(\" It is unnecessary to provide an empty constructor or one that simply delegates into its parent class because ES2015 provides a default class constructor if one is not specified. However constructors with parameter properties, modifiers or parameter decorators should not be omitted even if the body of the constructor is empty. \")]),_vm._m(58),_vm._m(59),_vm._m(60),_vm._m(61),_vm._m(62),_c('p',[_vm._v(\"Do not use private fields (also known as private identifiers):\")]),_vm._m(63),_c('p',[_vm._v(\"Instead, use TypeScript's visibility annotations:\")]),_vm._m(64),_vm._m(65),_vm._m(66),_vm._m(67),_vm._m(68),_vm._m(69),_vm._m(70),_vm._m(71),_vm._m(72),_vm._m(73),_c('p',[_vm._v(\" If a class member is not a parameter, initialize it where it's declared, which sometimes lets you drop the constructor entirely. \")]),_vm._m(74),_vm._m(75),_vm._m(76),_vm._m(77),_vm._m(78),_vm._m(79),_vm._m(80),_c('h4',[_vm._v(\"Getters and Setters (Accessors)\")]),_vm._m(81),_vm._m(82),_vm._m(83),_vm._m(84),_vm._m(85),_vm._m(86),_vm._m(87),_vm._m(88),_vm._m(89),_vm._m(90),_vm._m(91),_vm._m(92),_vm._m(93),_vm._m(94),_vm._m(95),_vm._m(96),_vm._m(97),_c('p',[_vm._v(\" Using string concatenation to cast to string is discouraged, as we check that operands to the plus operator are of matching types. \")]),_vm._m(98),_vm._m(99),_vm._m(100),_vm._m(101),_vm._m(102),_vm._m(103),_vm._m(104),_vm._m(105),_vm._m(106),_vm._m(107),_vm._m(108),_vm._m(109),_vm._m(110),_vm._m(111),_c('p',[_vm._v(\"Code may use explicit comparisons:\")]),_vm._m(112),_vm._m(113),_vm._m(114),_vm._m(115),_vm._m(116),_vm._m(117),_c('p',[_vm._v(\"Variables must not be used before their declaration.\")]),_vm._m(118),_vm._m(119),_vm._m(120),_vm._m(121),_vm._m(122),_vm._m(123),_vm._m(124),_vm._m(125),_vm._m(126),_vm._m(127),_vm._m(128),_vm._m(129),_vm._m(130),_vm._m(131),_vm._m(132),_vm._m(133),_vm._m(134),_vm._m(135),_vm._m(136),_vm._m(137),_vm._m(138),_vm._m(139),_vm._m(140),_vm._m(141),_vm._m(142),_c('p',[_vm._v(\" Control flow statements spanning multiple lines always use blocks for the containing code. \")]),_vm._m(143),_vm._m(144),_vm._m(145),_vm._m(146),_vm._m(147),_vm._m(148),_vm._m(149),_vm._m(150),_vm._m(151),_c('p',[_vm._v(\"Empty statement groups are allowed to fall through:\")]),_vm._m(152),_vm._m(153),_vm._m(154),_vm._m(155),_vm._m(156),_vm._m(157),_vm._m(158),_vm._m(159),_vm._m(160),_vm._m(161),_vm._m(162),_vm._m(163),_vm._m(164),_vm._m(165),_vm._m(166),_vm._m(167),_vm._m(168),_vm._m(169),_vm._m(170),_vm._m(171),_vm._m(172),_vm._m(173),_vm._m(174),_c('p',[_vm._v(\" Use arrow functions with expressions or blocks as their body as appropriate. \")]),_vm._m(175),_c('p',[_vm._v(\" Only use an expression body if the return value of the function is actually used. \")]),_vm._m(176),_vm._m(177),_vm._m(178),_vm._m(179),_vm._m(180),_vm._m(181),_vm._m(182),_vm._m(183),_vm._m(184),_vm._m(185),_vm._m(186),_vm._m(187),_vm._m(188),_vm._m(189),_vm._m(190),_vm._m(191),_vm._m(192),_vm._m(193),_c('p',[_vm._v(\" Do not rely on Automatic Semicolon Insertion (ASI). Explicitly terminate all statements using a semicolon. This prevents bugs due to incorrect semicolon insertions and ensures compatibility with tools with limited ASI support (e.g. clang-format). \")]),_vm._m(194),_vm._m(195),_vm._m(196),_vm._m(197),_vm._m(198),_vm._m(199),_c('p',[_vm._v(\"Instead of the following:\")]),_vm._m(200),_c('p',[_vm._v(\" When you want to assert a type or non-nullability the best answer is to explicitly write a runtime check that performs that check. \")]),_vm._m(201),_vm._m(202),_vm._m(203),_c('p',[_vm._v(\" If the reasoning behind a type or non-nullability assertion is obvious, the comments may not be necessary. For example, generated proto code is always nullable, but perhaps it is well-known in the context of the code that certain fields are always provided by the backend. Use your judgement. \")]),_vm._m(204),_vm._m(205),_vm._m(206),_vm._m(207),_vm._m(208),_vm._m(209),_vm._m(210),_vm._m(211),_vm._m(212),_vm._m(213),_vm._m(214),_vm._m(215),_vm._m(216),_c('p',[_vm._v(\" Inline object type declarations must use the comma as a separator: \")]),_vm._m(217),_vm._m(218),_c('p',[_vm._v(\" Code must not mix quoted property access with dotted property access: \")]),_vm._m(219),_c('p',[_vm._v(\" Code must not rely on disabling renaming, but must rather declare all properties that are external to the application to prevent renaming: \")]),_c('p',[_vm._v(\" Prefer for code to account for a possible property-renaming optimization, and declare all properties that are external to the application to prevent renaming: \")]),_vm._m(220),_vm._m(221),_vm._m(222),_vm._m(223),_vm._m(224),_vm._m(225),_c('p',[_vm._v(\" This optimization compatibility rule applies to all web apps. It does not apply to code that only runs server side (e.g. in NodeJS for a test runner). It is still strongly encouraged to always declare all types and avoid mixing quoted and unquoted property access, for code hygiene. \")]),_vm._m(226),_vm._m(227),_vm._m(228),_c('p',[_vm._v(\"Debugger statements must not be included in production code.\")]),_vm._m(229),_vm._m(230),_vm._m(231),_c('p',[_vm._v(\" Do not define new decorators. Only use the decorators defined by frameworks: \")]),_vm._m(232),_vm._m(233),_c('p',[_vm._v(\" When using decorators, the decorator must immediately precede the symbol it decorates, with no empty lines between: \")]),_vm._m(234),_vm._m(235),_vm._m(236),_vm._m(237),_vm._m(238),_vm._m(239),_vm._m(240),_vm._m(241),_vm._m(242),_vm._m(243),_vm._m(244),_vm._m(245),_vm._m(246),_vm._m(247),_vm._m(248),_c('p',[_vm._v(\"Use named exports in all code:\")]),_vm._m(249),_c('p',[_vm._v(\" Do not use default exports. This ensures that all imports follow a uniform pattern. \")]),_vm._m(250),_vm._m(251),_vm._m(252),_c('p',[_vm._v(\" TypeScript does not support restricting the visibility for exported symbols. Only export symbols that are used outside of the module. Generally minimize the exported API surface of modules. \")]),_vm._m(253),_vm._m(254),_vm._m(255),_c('p',[_vm._v(\" If one needs to support externally accessible and mutable bindings, they should instead use explicit getter functions. \")]),_vm._m(256),_c('p',[_vm._v(\" For the common pattern of conditionally exporting either of two values, first do the conditional check, then the export. Make sure that all exports are final after the module's body has executed. \")]),_vm._m(257),_vm._m(258),_c('p',[_vm._v(\" Do not create container classes with static methods or properties for the sake of namespacing. \")]),_vm._m(259),_c('p',[_vm._v(\"Instead, export individual constants and functions:\")]),_vm._m(260),_vm._m(261),_c('p',[_vm._v(\" There are four variants of import statements in ES6 and TypeScript: \")]),_vm._m(262),_vm._m(263),_c('p',[_vm._v(\" Both module and destructuring imports have advantages depending on the situation. \")]),_vm._m(264),_vm._m(265),_vm._m(266),_vm._m(267),_vm._m(268),_vm._m(269),_vm._m(270),_vm._m(271),_c('p',[_vm._v(\"Three examples where renaming can be helpful:\")]),_vm._m(272),_vm._m(273),_vm._m(274),_vm._m(275),_vm._m(276),_c('p',[_vm._v(\"Instead, just use regular imports:\")]),_vm._m(277),_c('p',[_vm._v(\" TypeScript tooling automatically distinguishes symbols used as types vs symbols used as values and only generates runtime loads for the latter. \")]),_vm._m(278),_vm._m(279),_vm._m(280),_vm._m(281),_vm._m(282),_vm._m(283),_vm._m(284),_vm._m(285),_vm._m(286),_vm._m(287),_vm._m(288),_c('p',[_vm._v(\" For more complex expressions, type annotations can help with readability of the program. Whether an annotation is required is decided by the code reviewer. \")]),_vm._m(289),_vm._m(290),_c('p',[_vm._v(\" There are two benefits to explicitly typing out the implicit return values of functions and methods: \")]),_vm._m(291),_vm._m(292),_vm._m(293),_vm._m(294),_vm._m(295),_vm._m(296),_vm._m(297),_vm._m(298),_vm._m(299),_vm._m(300),_vm._m(301),_vm._m(302),_vm._m(303),_vm._m(304),_vm._m(305),_c('p',[_vm._v(\" For classes preferably avoid this pattern altogether and initialize as many fields as possible. \")]),_vm._m(306),_vm._m(307),_c('p',[_vm._v(\" TypeScript's type system is structural, not nominal. That is, a value matches a type if it has at least all the properties the type requires and the properties' types match, recursively. \")]),_c('p',[_vm._v(\" Use structural typing where appropriate in your code. Outside of test code, use interfaces to define structural types, not classes. In test code it can be useful to have mock implementations structurally match the code under test without introducing an extra interface. \")]),_c('p',[_vm._v(\" When providing a structural-based implementation, explicitly include the type at the declaration of the symbol (this allows more precise type checking and error reporting). \")]),_vm._m(308),_vm._m(309),_vm._m(310),_vm._m(311),_vm._m(312),_c('p',[_vm._v(\" However, when declaring types for objects, use interfaces instead of a type alias for the object literal expression. \")]),_vm._m(313),_vm._m(314),_vm._m(315),_vm._m(316),_vm._m(317),_vm._m(318),_vm._m(319),_vm._m(320),_vm._m(321),_vm._m(322),_vm._m(323),_vm._m(324),_c('p',[_vm._v(\" In TypeScript, provide a meaningful label for the key. (The label only exists for documentation; it's unused otherwise.) \")]),_vm._m(325),_vm._m(326),_vm._m(327),_vm._m(328),_vm._m(329),_vm._m(330),_c('p',[_vm._v(\" These type system features allow succinctly specifying types and constructing powerful yet type safe abstractions. They come with a number of drawbacks though: \")]),_vm._m(331),_c('p',[_vm._v(\"The style recommendation is:\")]),_vm._m(332),_vm._m(333),_vm._m(334),_vm._m(335),_vm._m(336),_vm._m(337),_vm._m(338),_c('p',[_vm._v(\"Use interfaces , an inline object type, or a type alias:\")]),_vm._m(339),_vm._m(340),_vm._m(341),_vm._m(342),_vm._m(343),_vm._m(344),_vm._m(345),_vm._m(346),_vm._m(347),_vm._m(348),_c('p',[_vm._v(\" If you are tempted to create a Pair type, instead use a tuple type: \")]),_vm._m(349),_vm._m(350),_c('p',[_vm._v(\" However, often it's clearer to provide meaningful names for the properties. \")]),_vm._m(351),_vm._m(352),_vm._m(353),_c('p',[_vm._v(\" There are a few types related to JavaScript primitives that should never be used: \")]),_vm._m(354),_vm._m(355),_vm._m(356),_c('p',[_vm._v(\" Avoid creating APIs that have return type only generics. When working with existing APIs that have return type only generics always explicitly specify the generics. \")]),_vm._m(357),_vm._m(358),_vm._m(359),_vm._m(360),_c('p',[_vm._v(\" The following points are the exceptions, which are the reasons we have some global rules. Evaluate your style guide proposal against the following: \")]),_vm._m(361),_c('div',{attrs:{\"id\":\"icons\"}},[_c('h4',[_vm._v(\"Icons\")]),_vm._l((_vm.icons),function(icon){return _c('div',{key:icon},[_c('label',[_vm._v(\".\"+_vm._s(icon))]),_vm._v(\" \"),_c('br'),_c('i',{staticClass:\"glyphicons\",class:icon}),_vm._v(\" \"),_c('br')])})],2)]),_c('app-footer')],1),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"code-review-modal\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"exampleModalLabel\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_vm._m(362),_vm._m(363),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.endReview}},[_vm._v(\" Close \")])])])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"vertical_toc col-md-2\",attrs:{\"id\":\"tocDiv\"}},[_c('div',{staticClass:\"toc_title\"}),_c('h3',{staticClass:\"ignoreLink\",attrs:{\"id\":\"toc\"}},[_vm._v(\"Table of Contents\")]),_c('table',{staticClass:\"columns\"},[_c('tbody',{staticClass:\"toc\",attrs:{\"valign\":\"top\"}},[_c('tr',[_c('td',{staticClass:\"two_columns\"},[_c('dl',[_c('dt',[_c('a',{attrs:{\"href\":\"#syntax\"}},[_vm._v(\"Syntax\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#identifiers\"}},[_vm._v(\"Identifiers\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#file-encoding-utf-8\"}},[_vm._v(\"File encoding: UTF-8\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#comments-documentation\"}},[_vm._v(\"Comments & Documentation\")])])]),_c('dl',[_c('dt',[_c('a',{attrs:{\"href\":\"#language-rules\"}},[_vm._v(\"Language Rules\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#visibility\"}},[_vm._v(\"Visibility\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#constructors\"}},[_vm._v(\"Constructors\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#class-members\"}},[_vm._v(\"Class Members\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#primitive-types-wrapper-classes\"}},[_vm._v(\"Primitive Types & Wrapper Classes\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#array-constructor\"}},[_vm._v(\"Array constructor\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#type-coercion\"}},[_vm._v(\"Type coercion\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#variables\"}},[_vm._v(\"Variables\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#exceptions\"}},[_vm._v(\"Exceptions\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#iterating-objects\"}},[_vm._v(\"Iterating objects\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#iterating-containers\"}},[_vm._v(\"Iterating containers\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#using-the-spread-operator\"}},[_vm._v(\"Using the spread operator\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#control-flow-statements-blocks\"}},[_vm._v(\"Control flow statements & blocks\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#switch-statements\"}},[_vm._v(\"Switch Statements\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#equality-checks\"}},[_vm._v(\"Equality Checks\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#function-declarations\"}},[_vm._v(\"Function Declarations\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#function-expressions\"}},[_vm._v(\"Function Expressions\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#automatic-semicolon-insertion\"}},[_vm._v(\"Automatic Semicolon Insertion\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#ts-ignore\"}},[_vm._v(\"@ts-ignore\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#type-and-non-nullability-assertions\"}},[_vm._v(\"Type and Non-nullability Assertions\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#member-property-declarations\"}},[_vm._v(\"Member property declarations\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#enums\"}},[_vm._v(\"Enums\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#debugger-statements\"}},[_vm._v(\"Debugger statements\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#decorators\"}},[_vm._v(\"Decorators\")])])]),_c('dl',[_c('dt',[_c('a',{attrs:{\"href\":\"#source-organization\"}},[_vm._v(\"Source Organization\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#modules\"}},[_vm._v(\"Modules\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#exports\"}},[_vm._v(\"Exports\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#imports\"}},[_vm._v(\"Imports\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#organize-by-feature\"}},[_vm._v(\"Organize By Feature\")])])]),_c('dl',[_c('dt',[_c('a',{attrs:{\"href\":\"#type-system\"}},[_vm._v(\"Type System\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#type-inference\"}},[_vm._v(\"Type Inference\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#null-vs-undefined\"}},[_vm._v(\"Null vs Undefined\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#structural-types-vs-nominal-types\"}},[_vm._v(\"Structural Types vs Nominal Types\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#interfaces-vs-type-aliases\"}},[_vm._v(\"Interfaces vs Type Aliases\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#arrayt-type\"}},[_vm._v(\"Array Type\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#indexable-key-string-number-type\"}},[_vm._v(\"Indexable ({[key: string]: number}) Type\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#mapped-conditional-types\"}},[_vm._v(\"Mapped & Conditional Types\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#any\"}},[_vm._v(\"any Type\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#tuple-types\"}},[_vm._v(\"Tuple Types\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#wrapper-types\"}},[_vm._v(\"Wrapper types\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#return-type-only-generics\"}},[_vm._v(\"Return type only generics\")])])]),_c('dl',[_c('dt',[_c('a',{attrs:{\"href\":\"#consistency\"}},[_vm._v(\"Consistency\")])]),_c('dd',[_c('a',{attrs:{\"href\":\"#goals\"}},[_vm._v(\"Goals\")])])])])])])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_vm._v(\" This is the external guide that's based on the internal Google version but has been adjusted for the broader audience. There is no automatic deployment process for this version as it's pushed on-demand by volunteers. \"),_c('p',[_vm._v(\" It contains both rules and best practices. Choose those that work best for your team. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" This Style Guide uses \"),_c('a',{attrs:{\"href\":\"http://tools.ietf.org/html/rfc2119\"}},[_vm._v(\"RFC 2119\")]),_vm._v(\" terminology when using the phrases \"),_c('em',[_vm._v(\"must\")]),_vm._v(\", \"),_c('em',[_vm._v(\"must not\")]),_vm._v(\", \"),_c('em',[_vm._v(\"should\")]),_vm._v(\", \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\", and \"),_c('em',[_vm._v(\"may\")]),_vm._v(\". All examples given are non-normative and serve only to illustrate the normative language of the style guide. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h2',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"syntax\"}},[_vm._v(\" Syntax\"),_c('a',{attrs:{\"href\":\"#syntax\",\"alt\":\"link to syntax\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"identifiers\"}},[_vm._v(\" Identifiers\"),_c('a',{attrs:{\"href\":\"#identifiers\",\"alt\":\"link to identifiers\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Style\")]),_c('th',[_vm._v(\"Category\")])])]),_c('tbody',[_c('tr',[_c('td',[_c('code',[_vm._v(\"UpperCamelCase\")])]),_c('td',[_vm._v(\" class / interface / type / enum / decorator / type parameters \")])]),_c('tr',[_c('td',[_c('code',[_vm._v(\"lowerCamelCase\")])]),_c('td',[_vm._v(\" variable / parameter / function / method / property / module alias \")])]),_c('tr',[_c('td',[_c('code',[_vm._v(\"CONSTANT_CASE\")])]),_c('td',[_vm._v(\"global constant values, including enum values\")])]),_c('tr',[_c('td',[_c('code',[_vm._v(\"#ident\")])]),_c('td',[_vm._v(\"private identifiers are never used.\")])])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('p',{staticClass:\"abbreviations\"},[_c('strong',[_vm._v(\"Abbreviations\")]),_vm._v(\": Treat abbreviations like acronyms in names as whole words, i.e. use \"),_c('code',[_vm._v(\"loadHttpUrl\")]),_vm._v(\", not \"),_c('del',[_c('code',[_vm._v(\"loadHTTPURL\")])]),_vm._v(\", unless required by a platform name (e.g. \"),_c('code',[_vm._v(\"XMLHttpRequest\")]),_vm._v(\"). \")])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Dollar sign\")]),_vm._v(\": Identifiers \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" generally use \"),_c('code',[_vm._v(\"$\")]),_vm._v(\", except when aligning with naming conventions for third party frameworks. \"),_c('a',{attrs:{\"href\":\"#naming-style\"}},[_vm._v(\"See below\")]),_vm._v(\" for more on using \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" with \"),_c('code',[_vm._v(\"Observable\")]),_vm._v(\" values. \")])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Type parameters\")]),_vm._v(\": Type parameters, like in \"),_c('code',[_vm._v(\"Array\")]),_vm._v(\", may use a single upper case character (\"),_c('code',[_vm._v(\"T\")]),_vm._v(\") or \"),_c('code',[_vm._v(\"UpperCamelCase\")]),_vm._v(\". \")])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Test names\")]),_vm._v(\": Test method names in Closure \"),_c('code',[_vm._v(\"testSuite\")]),_vm._v(\"s and similar xUnit-style test frameworks may be structured with \"),_c('code',[_vm._v(\"_\")]),_vm._v(\" separators, e.g. \"),_c('code',[_vm._v(\"testX_whenY_doesZ()\")]),_vm._v(\". \")])]),_c('li',[_c('p',[_c('strong',[_c('code',[_vm._v(\"_\")]),_vm._v(\" prefix/suffix\")]),_vm._v(\": Identifiers must not use \"),_c('code',[_vm._v(\"_\")]),_vm._v(\" as a prefix or suffix. \")]),_c('p',[_vm._v(\" This also means that \"),_c('code',[_vm._v(\"_\")]),_vm._v(\" must not be used as an identifier by itself (e.g. to indicate a parameter is unused). \")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('blockquote',[_c('p',{staticClass:\"tip\"},[_vm._v(\" Tip: If you only need some of the elements from an array (or TypeScript tuple), you can insert extra commas in a destructuring statement to ignore in-between elements: \")]),_c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"a\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"10\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// a <- 1, b <- 10\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('p',{staticClass:\"imports\"},[_c('strong',[_vm._v(\"Imports\")]),_vm._v(\": Module namespace imports are \"),_c('code',[_vm._v(\"lowerCamelCase\")]),_vm._v(\" while files are \"),_c('code',[_vm._v(\"snake_case\")]),_vm._v(\", which means that imports correctly will not match in casing style, such as \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as fooBar \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo_bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])]),_c('p',[_vm._v(\" Some libraries might commonly use a namespace import prefix that violates this naming scheme, but overbearingly common open source use makes the violating style more readable. The only libraries that currently fall under this exception are: \")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://jquery.com/\"}},[_vm._v(\"jquery\")]),_vm._v(\", using the \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" prefix \")]),_c('li',[_c('a',{attrs:{\"href\":\"https://threejs.org/\"}},[_vm._v(\"threejs\")]),_vm._v(\", using the \"),_c('code',[_vm._v(\"THREE\")]),_vm._v(\" prefix \")])])]),_c('li',[_c('p',{staticClass:\"constants\"},[_c('strong',[_vm._v(\"Constants\")]),_vm._v(\": \"),_c('code',[_vm._v(\"CONSTANT_CASE\")]),_vm._v(\" indicates that a value is \"),_c('em',[_vm._v(\"intended\")]),_vm._v(\" to not be changed, and may be used for values that can technically be modified (i.e. values that are not deeply frozen) to indicate to users that they must not be modified. \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" UNIT_SUFFIXES \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'milliseconds'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'ms'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'seconds'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'s'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Even though per the rules of JavaScript UNIT_SUFFIXES is\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// mutable, the uppercase shows users to not modify it.\")])]),_c('p',[_vm._v(\" A constant can also be a \"),_c('code',[_vm._v(\"static readonly\")]),_vm._v(\" property of a class. \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"static\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly MY_SPECIAL_NUMBER \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"MY_SPECIAL_NUMBER\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])]),_c('p',[_vm._v(\" If a value can be instantiated more than once over the lifetime of the program, or if users mutate it in any way, it must use \"),_c('code',[_vm._v(\"lowerCamelCase\")]),_vm._v(\". \")]),_c('p',[_vm._v(\" If a value is an arrow function that implements an interface, then it can be declared \"),_c('code',[_vm._v(\"lowerCamelCase\")]),_vm._v(\". \")])]),_c('li')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"aliases\"}},[_vm._v(\" Aliases\"),_c('a',{attrs:{\"href\":\"#aliases\",\"alt\":\"link to aliases\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" When creating a local-scope alias of an existing symbol, use the format of the existing identifier. The local alias must match the existing naming and format of the source. For variables use \"),_c('code',[_vm._v(\"const\")]),_vm._v(\" for your local aliases, and for class fields use the \"),_c('code',[_vm._v(\"readonly\")]),_vm._v(\" attribute. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SomeType\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" CAPACITY \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Teapot\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n readonly \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BrewStateEnum\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BrewStateEnum\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n readonly CAPACITY \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" CAPACITY\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"naming-style\"}},[_vm._v(\" Naming style\"),_c('a',{attrs:{\"href\":\"#naming-style\",\"alt\":\"link to naming-style\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript expresses information in types, so names \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" be decorated with information that is included in the type. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\" Do not use trailing or leading underscores for private properties or methods. \")]),_c('li',[_vm._v(\" Do not use the \"),_c('code',[_vm._v(\"opt_\")]),_vm._v(\" prefix for optional parameters. \"),_c('ul',[_c('li',[_vm._v(\" For accessors, see \"),_c('a',{attrs:{\"href\":\"#getters-and-setters-accessors\"}},[_vm._v(\"accessor rules\")]),_vm._v(\" below. \")])])]),_c('li',[_vm._v(\" Do not mark interfaces specially (\"),_c('del',[_c('code',[_vm._v(\"IMyInterface\")])]),_vm._v(\" or \"),_c('del',[_c('code',[_vm._v(\"MyFooInterface\")])]),_vm._v(\") unless it's idiomatic in its environment. When introducing an interface for a class, give it a name that expresses why the interface exists in the first place (e.g. \"),_c('code',[_vm._v(\"class TodoItem\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"interface TodoItemStorage\")]),_vm._v(\" if the interface expresses the format used for storage/serialization in JSON). \")]),_c('li',[_vm._v(\" Suffixing \"),_c('code',[_vm._v(\"Observable\")]),_vm._v(\"s with \"),_c('code',[_vm._v(\"$\")]),_vm._v(\" is a common external convention and can help resolve confusion regarding observable values vs concrete values. Judgement on whether this is a useful convention is left up to individual teams, but \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" be consistent within projects. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"descriptive-names\"}},[_vm._v(\" Descriptive names\"),_c('a',{attrs:{\"href\":\"#descriptive-names\",\"alt\":\"link to descriptive-names\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Names \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" be descriptive and clear to a new reader. Do not use abbreviations that are ambiguous or unfamiliar to readers outside your project, and do not abbreviate by deleting letters within a word. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('strong',[_vm._v(\"Exception\")]),_vm._v(\": Variables that are in scope for 10 lines or fewer, including arguments that are \"),_c('em',[_vm._v(\"not\")]),_vm._v(\" part of an exported API, \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" use short (e.g. single letter) variable names. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"file-encoding-utf-8\"}},[_vm._v(\" File encoding: UTF-8\"),_c('a',{attrs:{\"href\":\"#file-encoding-utf-8\",\"alt\":\"link to file-encoding-utf-8\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For non-ASCII characters, use the actual Unicode character (e.g. \"),_c('code',[_vm._v(\"∞\")]),_vm._v(\"). For non-printable characters, the equivalent hex or Unicode escapes (e.g. \"),_c('code',[_vm._v(\"\\\\u221e\")]),_vm._v(\") can be used along with an explanatory comment. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Perfectly clear, even without a comment.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" units \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'μs'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use escapes for non-printable characters.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" output \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'\\\\ufeff'\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"+\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" content\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// byte order mark\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Hard to read and prone to mistakes, even with the comment.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" units \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'\\\\u03bcs'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Greek letter mu, 's'\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// The reader has no idea what this is.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" output \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'\\\\ufeff'\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"+\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" content\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"comments-documentation\"}},[_vm._v(\" Comments & Documentation\"),_c('a',{attrs:{\"href\":\"#comments-documentation\",\"alt\":\"link to comments-documentation\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"jsdoc-vs-comments\"}},[_vm._v(\" JSDoc vs comments\"),_c('a',{attrs:{\"href\":\"#jsdoc-vs-comments\",\"alt\":\"link to jsdoc-vs-comments\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" There are two types of comments, JSDoc (\"),_c('code',[_vm._v(\"/** ... */\")]),_vm._v(\") and non-JSDoc ordinary comments (\"),_c('code',[_vm._v(\"// ...\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"/* ... */\")]),_vm._v(\"). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\" Use \"),_c('code',[_vm._v(\"/** JSDoc */\")]),_vm._v(\" comments for documentation, i.e. comments a user of the code should read. \")]),_c('li',[_vm._v(\" Use \"),_c('code',[_vm._v(\"// line comments\")]),_vm._v(\" for implementation comments, i.e. comments that only concern the implementation of the code itself. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"jsdoc-rules-follow-the-javascript-style\"}},[_vm._v(\" JSDoc rules follow the JavaScript style\"),_c('a',{attrs:{\"href\":\"#jsdoc-rules-follow-the-javascript-style\",\"alt\":\"link to jsdoc-rules-follow-the-javascript-style\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" In general, follow the \"),_c('a',{attrs:{\"href\":\"https://google.github.io/styleguide/jsguide.html#jsdoc\"}},[_vm._v(\"JavaScript style guide's rules for JSDoc\")]),_vm._v(\", sections 7.1 - 7.5. The remainder of this section describes exceptions to those rules. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"document-all-top-level-exports-of-modules\"}},[_vm._v(\" Document all top-level exports of modules\"),_c('a',{attrs:{\"href\":\"#document-all-top-level-exports-of-modules\",\"alt\":\"link to document-all-top-level-exports-of-modules\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use \"),_c('code',[_vm._v(\"/** JSDoc */\")]),_vm._v(\" comments to communicate information to the users of your code. Avoid merely restating the property or parameter name. You \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" also document all properties and methods (exported/public or not) whose purpose is not immediately obvious from their name, as judged by your reviewer. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"omit-comments-that-are-redundant-with-typescript\"}},[_vm._v(\" Omit comments that are redundant with TypeScript\"),_c('a',{attrs:{\"href\":\"#omit-comments-that-are-redundant-with-typescript\",\"alt\":\"link to omit-comments-that-are-redundant-with-typescript\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For example, do not declare types in \"),_c('code',[_vm._v(\"@param\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"@return\")]),_vm._v(\" blocks, do not write \"),_c('code',[_vm._v(\"@implements\")]),_vm._v(\", \"),_c('code',[_vm._v(\"@enum\")]),_vm._v(\", \"),_c('code',[_vm._v(\"@private\")]),_vm._v(\" etc. on code that uses the \"),_c('code',[_vm._v(\"implements\")]),_vm._v(\", \"),_c('code',[_vm._v(\"enum\")]),_vm._v(\", \"),_c('code',[_vm._v(\"private\")]),_vm._v(\" etc. keywords. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"do-not-use-override\"}},[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"@override\")]),_c('a',{attrs:{\"href\":\"#do-not-use-override\",\"alt\":\"link to do-not-use-override\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"Do not use \"),_c('code',[_vm._v(\"@override\")]),_vm._v(\" in TypeScript source code.\")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('code',[_vm._v(\"@override\")]),_vm._v(\" is not enforced by the compiler, which is surprising and leads to annotations and implementation going out of sync. Including it purely for documentation purposes is confusing. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"redundant-comments\"}},[_vm._v(\" Make comments that actually add information\"),_c('a',{attrs:{\"href\":\"#redundant-comments\",\"alt\":\"link to redundant-comments\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For non-exported symbols, sometimes the name and type of the function or parameter is enough. Code will \"),_c('em',[_vm._v(\"usually\")]),_vm._v(\" benefit from more documentation than just variable names though! \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('p',[_vm._v(\" Avoid comments that just restate the parameter name and type, e.g. \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** @param fooBarService The Bar service for the Foo application. */\")])])]),_c('li',[_c('p',[_vm._v(\" Because of this rule, \"),_c('code',[_vm._v(\"@param\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"@return\")]),_vm._v(\" lines are only required when they add information, and may otherwise be omitted. \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * POSTs the request to start coffee brewing.\\n * @param amountLitres The amount to brew. Must fit the pot size!\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nbrew\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"amountLitres\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" logger\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Logger\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"parameter-property-comments\"}},[_vm._v(\" Parameter property comments\"),_c('a',{attrs:{\"href\":\"#parameter-property-comments\",\"alt\":\"link to parameter-property-comments\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" A parameter property is when a class declares a field and a constructor parameter in a single declaration, by marking a parameter in the constructor. E.g. \"),_c('code',[_vm._v(\"constructor(private readonly foo: Foo)\")]),_vm._v(\", declares that the class has a \"),_c('code',[_vm._v(\"foo\")]),_vm._v(\" field. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" To document these fields, use JSDoc's \"),_c('code',[_vm._v(\"@param\")]),_vm._v(\" annotation. Editors display the description on constructor calls and property accesses. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** This class demonstrates how parameter properties are documented. */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ParamProps\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * @param percolator The percolator used for brewing.\\n * @param beans The beans to brew.\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly percolator\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Percolator\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly beans\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[])\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** This class demonstrates how ordinary fields are documented. */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"OrdinaryClass\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/** The bean that will be used in the next call to brew(). */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n nextBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"initialBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"nextBean \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" initialBean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"comments-when-calling-a-function\"}},[_vm._v(\" Comments when calling a function\"),_c('a',{attrs:{\"href\":\"#comments-when-calling-a-function\",\"alt\":\"link to comments-when-calling-a-function\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Inline block comments for parameters that'd be hard to understand:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Percolator\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"().\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"brew\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* amountLitres= */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Also consider using named arguments and destructuring parameters (in brew's declaration):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Percolator\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"().\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"brew\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"({\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"amountLitres\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** An ancient {@link CoffeeBrewer} */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Percolator\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"implements\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeBrewer\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * Brews coffee.\\n * @param amountLitres The amount to brew. Must fit the pot size!\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n brew\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"amountLitres\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// This implementation creates terrible coffee, but whatever.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// TODO(b/12345): Improve percolator brewing.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"place-documentation-prior-to-decorators\"}},[_vm._v(\" Place documentation prior to decorators\"),_c('a',{attrs:{\"href\":\"#place-documentation-prior-to-decorators\",\"alt\":\"link to place-documentation-prior-to-decorators\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" When a class, method, or property have both decorators like \"),_c('code',[_vm._v(\"@Component\")]),_vm._v(\" and JsDoc, please make sure to write the JsDoc before the decorator. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('p',[_vm._v(\" Do not write JsDoc between the Decorator and the decorated statement. \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"lit\"},[_vm._v(\"@Component\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"({\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n selector\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n template\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"})\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/** Component that prints \\\"bar\\\". */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FooComponent\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")])])]),_c('li',[_c('p',[_vm._v(\"Write the JsDoc block before the Decorator.\")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** Component that prints \\\"bar\\\". */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"@Component\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"({\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n selector\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n template\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"})\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FooComponent\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")])])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h2',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"language-rules\"}},[_vm._v(\" Language Rules\"),_c('a',{attrs:{\"href\":\"#language-rules\",\"alt\":\"link to language-rules\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"visibility\"}},[_vm._v(\" Visibility\"),_c('a',{attrs:{\"href\":\"#visibility\",\"alt\":\"link to visibility\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\"Limit symbol visibility as much as possible.\")]),_c('li',[_vm._v(\" Consider converting private methods to non-exported functions within the same file but outside of any class, and moving private properties into a separate, non-exported class. \")]),_c('li',[_vm._v(\" TypeScript symbols are public by default. Never use the \"),_c('code',[_vm._v(\"public\")]),_vm._v(\" modifier except when declaring non-readonly public parameter properties (in constructors). \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"public\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// BAD: public modifier not needed\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"public\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// BAD: readonly implies it's a property which defaults to public\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// GOOD: public modifier not needed\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"public\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// public modifier allowed\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" See also \"),_c('a',{attrs:{\"href\":\"#export-visibility\"}},[_vm._v(\"export visibility\")]),_vm._v(\" below. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"constructors\"}},[_vm._v(\" Constructors\"),_c('a',{attrs:{\"href\":\"#constructors\",\"alt\":\"link to constructors\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"UnnecessaryConstructor\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"UnnecessaryConstructorOverride\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" extends \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Base\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n super\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"DefaultConstructor\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ParameterProperties\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" myService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ParameterDecorators\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"@SideEffectDecorator\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" myService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"NoInstantiation\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"class-members\"}},[_vm._v(\" Class Members\"),_c('a',{attrs:{\"href\":\"#class-members\",\"alt\":\"link to class-members\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"private-fields\"}},[_vm._v(\" No \"),_c('code',[_vm._v(\"#private\")]),_vm._v(\" fields\"),_c('a',{attrs:{\"href\":\"#private-fields\",\"alt\":\"link to private-fields\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Clazz\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"#\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"ident \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Clazz\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" ident \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" Private identifiers cause substantial emit size and performance regressions when down-leveled by TypeScript, and are unsupported before ES2015. They can only be downleveled to ES2015, not lower. At the same time, they do not offer substantial benefits when static type checking is used to enforce visibility. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"use-readonly\"}},[_vm._v(\" Use \"),_c('code',[_vm._v(\"readonly\")]),_c('a',{attrs:{\"href\":\"#use-readonly\",\"alt\":\"link to use-readonly\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Mark properties that are never reassigned outside of the constructor with the \"),_c('code',[_vm._v(\"readonly\")]),_vm._v(\" modifier (these need not be deeply immutable). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"parameter-properties\"}},[_vm._v(\" Parameter properties\"),_c('a',{attrs:{\"href\":\"#parameter-properties\",\"alt\":\"link to parameter-properties\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Rather than plumbing an obvious initializer through to a class member, use a TypeScript \"),_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties\"}},[_vm._v(\"parameter property\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly barService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BarService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"barService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BarService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"barService \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" barService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly barService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BarService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" If the parameter property needs documentation, \"),_c('a',{attrs:{\"href\":\"#parameter-property-comments\"}},[_vm._v(\"use an \"),_c('code',[_vm._v(\"@param\")]),_vm._v(\" JSDoc tag\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"field-initializers\"}},[_vm._v(\" Field initializers\"),_c('a',{attrs:{\"href\":\"#field-initializers\",\"alt\":\"link to field-initializers\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly userList\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"userList \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly userList\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"properties-used-outside-of-class-lexical-scope\"}},[_vm._v(\" Properties used outside of class lexical scope\"),_c('a',{attrs:{\"href\":\"#properties-used-outside-of-class-lexical-scope\",\"alt\":\"link to properties-used-outside-of-class-lexical-scope\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Properties used from outside the lexical scope of their containing class, such as an AngularJS controller's properties used from a template, must not use \"),_c('code',[_vm._v(\"private\")]),_vm._v(\" visibility, as they are used outside of the lexical scope of their containing class. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Prefer \"),_c('code',[_vm._v(\"public\")]),_vm._v(\" visibility for these properties, however \"),_c('code',[_vm._v(\"protected\")]),_vm._v(\" visibility can also be used as needed. For example, Angular and Polymer template properties should use \"),_c('code',[_vm._v(\"public\")]),_vm._v(\", but AngularJS should use \"),_c('code',[_vm._v(\"protected\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code must not not use \"),_c('code',[_vm._v(\"obj['foo']\")]),_vm._v(\" to bypass the visibility of a property \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" When a property is \"),_c('code',[_vm._v(\"private\")]),_vm._v(\", you are declaring to both automated systems and humans that the property accesses are scoped to the methods of the declaring class, and they will rely on that. For example, a check for unused code will flag a private property that appears to be unused, even if some other file manages to bypass the visibility restriction. \")]),_c('p',[_vm._v(\" Though it may appear that \"),_c('code',[_vm._v(\"obj['foo']\")]),_vm._v(\" can bypass visibility in the TypeScript compiler, this pattern can be broken by rearranging the build rules, and also violates \"),_c('a',{attrs:{\"href\":\"#optimization-compatibility\"}},[_vm._v(\"optimization compatibility\")]),_vm._v(\". \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Getters and setters for class members may be used. The getter method must be a \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Pure_function\"}},[_vm._v(\"pure function\")]),_vm._v(\" (i.e., result is consistent and has no side effects). They are also useful as a means of restricting the visibility of internal or verbose implementation details (shown below). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly someService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SomeService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"get\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someMember\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someVariable\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"set\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someMember\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"newValue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someVariable \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" newValue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" If an accessor is used to hide a class property, the hidden property may be prefixed or suffixed with any whole word, like \"),_c('code',[_vm._v(\"internal\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"wrapped\")]),_vm._v(\". When using these private properties, access the value through the accessor whenever possible. At least one accessor for a property must be non-trivial: do not define \"),_c('q',[_vm._v(\"pass-through\")]),_vm._v(\" accessors only for the purpose of hiding a property. Instead, make the property public (or consider making it \"),_c('code',[_vm._v(\"readonly\")]),_vm._v(\" rather than just defining a getter with no setter). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" wrappedBar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"''\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"get\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"wrappedBar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"||\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"set\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"wrapped\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"wrappedBar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" wrapped\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"trim\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" barInternal \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"''\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Neither of these accessors have logic, so just make bar public.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"get\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"barInternal\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"set\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"barInternal \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"primitive-types-wrapper-classes\"}},[_vm._v(\" Primitive Types & Wrapper Classes\"),_c('a',{attrs:{\"href\":\"#primitive-types-wrapper-classes\",\"alt\":\"link to primitive-types-wrapper-classes\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code must not instantiate the wrapper classes for the primitive types \"),_c('code',[_vm._v(\"String\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Boolean\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Number\")]),_vm._v(\". Wrapper classes have surprising behaviour, such as \"),_c('code',[_vm._v(\"new Boolean(false)\")]),_vm._v(\" evaluating to \"),_c('code',[_vm._v(\"true\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" s \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"String\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'hello'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Boolean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"false\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" s \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'hello'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"false\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"array-constructor\"}},[_vm._v(\" Array constructor\"),_c('a',{attrs:{\"href\":\"#array-constructor\",\"alt\":\"link to array-constructor\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code must not use the \"),_c('code',[_vm._v(\"Array()\")]),_vm._v(\" constructor, with or without \"),_c('code',[_vm._v(\"new\")]),_vm._v(\". It has confusing and contradictory usage: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" a \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Array\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// [undefined, undefined]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Array\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// [2, 3];\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Instead, always use bracket notation to initialize arrays, or \"),_c('code',[_vm._v(\"from\")]),_vm._v(\" to initialize an \"),_c('code',[_vm._v(\"Array\")]),_vm._v(\" with a certain size: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" a \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Equivalent to Array(2):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" c \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nc\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// [0, 0, 0, 0, 0]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Array\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">({\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}).\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fill\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-coercion\"}},[_vm._v(\" Type coercion\"),_c('a',{attrs:{\"href\":\"#type-coercion\",\"alt\":\"link to type-coercion\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code may use the \"),_c('code',[_vm._v(\"String()\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Boolean()\")]),_vm._v(\" (note: no \"),_c('code',[_vm._v(\"new\")]),_vm._v(\"!) functions, string template literals, or \"),_c('code',[_vm._v(\"!!\")]),_vm._v(\" to coerce types. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bool \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Boolean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"false\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" str \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"String\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"aNumber\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bool2 \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"!!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"str\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" str2 \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"`\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"result\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" $\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bool2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}`;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code must use \"),_c('code',[_vm._v(\"Number()\")]),_vm._v(\" to parse numeric values, and \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" check its return for \"),_c('code',[_vm._v(\"NaN\")]),_vm._v(\" values explicitly, unless failing to parse is impossible from context. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"note\"},[_vm._v(\" Note: \"),_c('code',[_vm._v(\"Number('')\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Number(' ')\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Number('\\\\t')\")]),_vm._v(\" would return \"),_c('code',[_vm._v(\"0\")]),_vm._v(\" instead of \"),_c('code',[_vm._v(\"NaN\")]),_vm._v(\". \"),_c('code',[_vm._v(\"Number('Infinity')\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Number('-Infinity')\")]),_vm._v(\" would return \"),_c('code',[_vm._v(\"Infinity\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"-Infinity\")]),_vm._v(\" respectively. These cases may require special handling. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" aNumber \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'123'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"isNaN\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"aNumber\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"throw\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Error\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Handle NaN if the string might not contain a number\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nassertFinite\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"aNumber\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Optional: if NaN cannot happen because it was validated before.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code must not use unary plus (\"),_c('code',[_vm._v(\"+\")]),_vm._v(\") to coerce strings to numbers. Parsing numbers can fail, has surprising corner cases, and can be a code smell (parsing at the wrong layer). A unary plus is too easy to miss in code reviews given this. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"+\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code must also not use \"),_c('code',[_vm._v(\"parseInt\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"parseFloat\")]),_vm._v(\" to parse numbers, except for non-base-10 strings (see below). Both of those functions ignore trailing characters in the string, which can shadow error conditions (e.g. parsing \"),_c('code',[_vm._v(\"12 dwarves\")]),_vm._v(\" as \"),_c('code',[_vm._v(\"12\")]),_vm._v(\"). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" parseInt\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"10\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Error prone,\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" f \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" parseFloat\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// regardless of passing a radix.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code that must parse using a radix \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" check that its input is a number before calling into \"),_c('code',[_vm._v(\"parseInt\")]),_vm._v(\"; \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(!\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"/^[a-fA-F0-9]+$/\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"test\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"throw\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Error\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Needed to parse hexadecimal.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// tslint:disable-next-line:ban\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" parseInt\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"16\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Only allowed for radix != 10\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use \"),_c('code',[_vm._v(\"Number()\")]),_vm._v(\" followed by \"),_c('code',[_vm._v(\"Math.floor\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"Math.trunc\")]),_vm._v(\" (where available) to parse integer numbers: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" f \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"isNaN\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"f\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" handleError\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nf \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Math\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"floor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"f\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use explicit boolean coercions in conditional clauses that have implicit boolean coercion. Those are the conditions in an \"),_c('code',[_vm._v(\"if\")]),_vm._v(\", \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"while\")]),_vm._v(\" statements. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyInterface\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(!!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"while\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(!!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyInterface\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"while\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Explicitly comparing > 0 is OK:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"arr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// so is relying on boolean coercion:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"arr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"variables\"}},[_vm._v(\" Variables\"),_c('a',{attrs:{\"href\":\"#variables\",\"alt\":\"link to variables\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Always use \"),_c('code',[_vm._v(\"const\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"let\")]),_vm._v(\" to declare variables. Use \"),_c('code',[_vm._v(\"const\")]),_vm._v(\" by default, unless a variable needs to be reassigned. Never use \"),_c('code',[_vm._v(\"var\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" otherValue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use if \\\"foo\\\" never changes.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someValue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use if \\\"bar\\\" is ever assigned into later on.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('code',[_vm._v(\"const\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"let\")]),_vm._v(\" are block scoped, like variables in most other languages. \"),_c('code',[_vm._v(\"var\")]),_vm._v(\" in JavaScript is function scoped, which can cause difficult to understand bugs. Don't use it. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"var\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someValue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Don't use - var scoping is complex and causes bugs.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"exceptions\"}},[_vm._v(\" Exceptions\"),_c('a',{attrs:{\"href\":\"#exceptions\",\"alt\":\"link to exceptions\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Always use \"),_c('code',[_vm._v(\"new Error()\")]),_vm._v(\" when instantiating exceptions, instead of just calling \"),_c('code',[_vm._v(\"Error()\")]),_vm._v(\". Both forms create a new \"),_c('code',[_vm._v(\"Error\")]),_vm._v(\" instance, but using \"),_c('code',[_vm._v(\"new\")]),_vm._v(\" is more consistent with how other objects are instantiated. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"throw\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Error\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Foo is not a valid bar.'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"throw\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Error\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Foo is not a valid bar.'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"iterating-objects\"}},[_vm._v(\" Iterating objects\"),_c('a',{attrs:{\"href\":\"#iterating-objects\",\"alt\":\"link to iterating-objects\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Iterating objects with \"),_c('code',[_vm._v(\"for (... in ...)\")]),_vm._v(\" is error prone. It will include enumerable properties from the prototype chain. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\"Do not use unfiltered \"),_c('code',[_vm._v(\"for (... in ...)\")]),_vm._v(\" statements:\")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x in someObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// x could come from some parent prototype!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Either filter values explicitly with an \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" statement, or use \"),_c('code',[_vm._v(\"for (... of Object.keys(...))\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x in someObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"hasOwnProperty\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"continue\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// now x was definitely defined on someObj\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"of\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Object\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"keys\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// note: for _of_!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// now x was definitely defined on someObj\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"key\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"of\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Object\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"entries\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"))\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// note: for _of_!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// now key was definitely defined on someObj\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"iterating-containers\"}},[_vm._v(\" Iterating containers\"),_c('a',{attrs:{\"href\":\"#iterating-containers\",\"alt\":\"link to iterating-containers\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"for (... in ...)\")]),_vm._v(\" to iterate over arrays. It will counterintuitively give the array's indices (as strings!), not values: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x in someArray\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// x is the index!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use \"),_c('code',[_vm._v(\"for (... of someArr)\")]),_vm._v(\" or vanilla \"),_c('code',[_vm._v(\"for\")]),_vm._v(\" loops with indices to iterate over arrays. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"of\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someArr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// x is a value of someArr.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someArr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"++)\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Explicitly count if the index is needed, otherwise use the for/of form.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someArr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"of\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someArr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"entries\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"())\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Alternative version of the above.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"Array.prototype.forEach\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Set.prototype.forEach\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Map.prototype.forEach\")]),_vm._v(\". They make code harder to debug and defeat some useful compiler checks (e.g. reachability). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"someArr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"forEach\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"((\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"item\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" index\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n someFn\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"item\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" index\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\"Consider this code:\")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nmyArray\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"forEach\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"charAt\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")])]),_c('p',[_vm._v(\" You can recognize that this code is fine: \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" isn't null and it doesn't change before it is accessed. But the compiler cannot know that this \"),_c('code',[_vm._v(\".forEach()\")]),_vm._v(\" call doesn't hang on to the closure that was passed in and call it at some later point, maybe after \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" was set to null, so it flags this code as an error. The equivalent for-of loop is fine. \")]),_c('p',[_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/play?#code/DYUwLgBAHgXBDOYBOBLAdgcwD5oK7GAgF4IByAQwCMBjUgbgCgBtAXQDoAzAeyQFFzqACwAUwgJTEAfBADeDCNDZDySAIJhhABjGMAvjoYNQkAJ5xEqTDnyESFGvQbckEYdS5pEEAPoQuHCFYJOQUTJUEVdS0DXQYgA\"}},[_vm._v(\"See the error and non-error in the playground\")])]),_c('p',[_vm._v(\" In practice, variations of this limitation of control flow analysis show up in more complex codepaths where it is more surprising. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"using-the-spread-operator\"}},[_vm._v(\" Using the spread operator\"),_c('a',{attrs:{\"href\":\"#using-the-spread-operator\",\"alt\":\"link to using-the-spread-operator\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Using the spread operator \"),_c('code',[_vm._v(\"[...foo]; {...bar}\")]),_vm._v(\" is a convenient shorthand for copying arrays and objects. When using the spread operator on objects, later values replace earlier values at the same key. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo2 \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo3 \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\nfoo2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"===\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nfoo3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"===\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" When using the spread operator, the value being spread must match what is being created. That is, when creating an object, only objects may be used with the spread operator; when creating an array, only spread iterables. Primitives, including \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\", may never be spread. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"7\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"shouldUseFoo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"&&\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// might be undefined\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Creates {0: 'a', 1: 'b', 2: 'c'} but has no length\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" fooStrings \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'a'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'b'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'c'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" ids \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fooStrings\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" shouldUseFoo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"?\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"7\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"num\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" fooStrings \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'a'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'b'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'c'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" ids \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fooStrings\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'d'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'e'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"control-flow-statements-blocks\"}},[_vm._v(\" Control flow statements & blocks\"),_c('a',{attrs:{\"href\":\"#control-flow-statements-blocks\",\"alt\":\"link to control-flow-statements-blocks\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"++)\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomethingWith\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n andSomeMore\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomethingWithALongMethodName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"doFoo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"for\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"0\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"++)\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomethingWithALongMethodName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" The exception is that \"),_c('code',[_vm._v(\"if\")]),_vm._v(\" statements fitting on one line may elide the block. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"doFoo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"switch-statements\"}},[_vm._v(\" Switch Statements\"),_c('a',{attrs:{\"href\":\"#switch-statements\",\"alt\":\"link to switch-statements\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" All \"),_c('code',[_vm._v(\"switch\")]),_vm._v(\" statements must contain a \"),_c('code',[_vm._v(\"default\")]),_vm._v(\" statement group, even if it contains no code. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"switch\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"case\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" Y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomethingElse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"break\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"default\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// nothing to do.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Non-empty statement groups (\"),_c('code',[_vm._v(\"case ...\")]),_vm._v(\") may not fall through (enforced by the compiler): \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"switch\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"case\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" X\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomething\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// fall through - not allowed!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"case\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" Y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"switch\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"case\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" X\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"case\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" Y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n doSomething\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"break\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"default\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// nothing to do.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"equality-checks\"}},[_vm._v(\" Equality Checks\"),_c('a',{attrs:{\"href\":\"#equality-checks\",\"alt\":\"link to equality-checks\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Always use triple equals (\"),_c('code',[_vm._v(\"===\")]),_vm._v(\") and not equals (\"),_c('code',[_vm._v(\"!==\")]),_vm._v(\"). The double equality operators cause error prone type coercions that are hard to understand and slower to implement for JavaScript Virtual Machines. See also the \"),_c('a',{attrs:{\"href\":\"https://dorey.github.io/JavaScript-Equality-Table/\"}},[_vm._v(\"JavaScript equality table\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"==\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"||\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" baz \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"!=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Hard to understand behaviour due to type coercion.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"===\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"||\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" baz \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"!==\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// All good here.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"exception\"},[_c('strong',[_vm._v(\"Exception\")]),_vm._v(\": Comparisons to the literal \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" value may use the \"),_c('code',[_vm._v(\"==\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"!=\")]),_vm._v(\" operators to cover both \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\" values. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"==\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Will trigger when foo is null or undefined.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"function-declarations\"}},[_vm._v(\" Function Declarations\"),_c('a',{attrs:{\"href\":\"#function-declarations\",\"alt\":\"link to function-declarations\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use \"),_c('code',[_vm._v(\"function foo() { ... }\")]),_vm._v(\" to declare named functions, including functions in nested scopes, e.g. within another function. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use function declarations instead of assigning a function expression into a local variable (\"),_c('del',[_c('code',[_vm._v(\"const x = function() {...};\")])]),_vm._v(\"). TypeScript already disallows rebinding functions, so preventing overwriting a function declaration by using \"),_c('code',[_vm._v(\"const\")]),_vm._v(\" is unnecessary. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"exception\"},[_vm._v(\" Exception: Use arrow functions assigned to variables instead of function declarations if the function accesses the outer scope's \"),_c('code',[_vm._v(\"this\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Given the above declaration, this won't compile:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nfoo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ERROR: Invalid left-hand side of assignment expression.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// So declarations like this are unnecessary.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('blockquote',[_c('p',[_vm._v(\" Note the difference between function declarations (\"),_c('code',[_vm._v(\"function foo() {}\")]),_vm._v(\") discussed here, and function expressions (\"),_c('del',[_c('code',[_vm._v(\"doSomethingWith(function() {});\")])]),_vm._v(\") discussed \"),_c('a',{attrs:{\"href\":\"#function-expressions\"}},[_vm._v(\"below\")]),_vm._v(\". \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Top level arrow functions \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" be used to explicitly declare that a function implements an interface. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SearchFunction\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"source\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" subString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" boolean\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" fooSearch\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SearchFunction\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"source\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" subString\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"function-expressions\"}},[_vm._v(\" Function Expressions\"),_c('a',{attrs:{\"href\":\"#function-expressions\",\"alt\":\"link to function-expressions\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"use-arrow-functions-in-expressions\"}},[_vm._v(\" Use arrow functions in expressions\"),_c('a',{attrs:{\"href\":\"#use-arrow-functions-in-expressions\",\"alt\":\"link to use-arrow-functions-in-expressions\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Always use arrow functions instead of pre-ES6 function expressions defined with the \"),_c('code',[_vm._v(\"function\")]),_vm._v(\" keyword. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"doSomething\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"})\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"})\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Function expressions (defined with the \"),_c('code',[_vm._v(\"function\")]),_vm._v(\" keyword) may only be used if code has to dynamically rebind the \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" pointer, but code \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" rebind the \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" pointer in general. Code in regular functions (as opposed to arrow functions and methods) \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" access \"),_c('code',[_vm._v(\"this\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"expression-bodies-vs-block-bodies\"}},[_vm._v(\" Expression bodies vs block bodies\"),_c('a',{attrs:{\"href\":\"#expression-bodies-vs-block-bodies\",\"alt\":\"link to expression-bodies-vs-block-bodies\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Top level functions use function declarations.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someFunction\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Block arrow function bodies, i.e. bodies with => { }, are fine:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" receipts \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" books\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"map\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"((\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Book\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" receipt \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" payMoney\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"price\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n recordTransaction\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"receipt\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" receipt\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Expression bodies are fine, too, if the return value is used:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" longThings \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" myValues\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"filter\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" v\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1000\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\").\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"map\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"String\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"));\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" payMoney\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"amount\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// function declarations are fine, but don't access `this` in them.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// BAD: use a block ({ ... }) if the return value of the function is not used.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nmyPromise\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"then\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" console\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"log\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"));\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// GOOD: return value is unused, use a block body.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nmyPromise\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"then\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n console\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"log\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// GOOD: code may use blocks for readability.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" transformed \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"].\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"map\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" intermediate \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someComplicatedExpr\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"v\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" more \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" acrossManyLines\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"intermediate\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" worthWrapping\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"more\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"rebinding-this\"}},[_vm._v(\" Rebinding \"),_c('code',[_vm._v(\"this\")]),_c('a',{attrs:{\"href\":\"#rebinding-this\",\"alt\":\"link to rebinding-this\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Function expressions must not use \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" unless they specifically exist to rebind the \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" pointer. Rebinding \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" can in most cases be avoided by using arrow functions or explicit parameters. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" clickHandler\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: what's `this` in this context?\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"textContent \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Hello'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: the `this` pointer reference is implicitly set to document.body.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndocument\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"body\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"onclick \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" clickHandler\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Good: explicitly reference the object from an arrow function.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndocument\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"body\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"onclick \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" document\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"body\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"textContent \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'hello'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Alternatively: take an explicit parameter\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" setTextFn \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"e\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"HTMLElement\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" e\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"textContent \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'hello'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndocument\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"body\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"onclick \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" setTextFn\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bind\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" document\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"body\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"arrow-functions-as-properties\"}},[_vm._v(\" Arrow functions as properties\"),_c('a',{attrs:{\"href\":\"#arrow-functions-as-properties\",\"alt\":\"link to arrow-functions-as-properties\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Classes usually \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" contain properties initialized to arrow functions. Arrow function properties require the calling function to understand that the callee's \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" is already bound, which increases confusion about what \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" is, and call sites and references using such handlers look broken (i.e. require non-local knowledge to determine that they are correct). Code \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" always use arrow functions to call instance methods (\"),_c('code',[_vm._v(\"const handler = (x) => { this.listener(x); };\")]),_vm._v(\"), and \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" obtain or pass references to instance methods (\"),_c('del',[_c('code',[_vm._v(\"const handler = this.listener; handler(x);\")])]),_vm._v(\"). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('blockquote',[_c('p',{staticClass:\"note\"},[_vm._v(\" Note: in some specific situations, e.g. when binding functions in a template, arrow functions as properties are useful and create much more readable code. Use judgement with this rule. Also, see the \"),_c('a',{attrs:{\"href\":\"#event-handlers\"}},[_c('code',[_vm._v(\"Event Handlers\")])]),_vm._v(\" section below. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"DelayHandler\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Problem: `this` is not preserved in the callback. `this` in the callback\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// will not be an instance of DelayHandler.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n setTimeout\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"patienceTracker\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5000\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" patienceTracker\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"waitedPatiently \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"true\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Arrow functions usually should not be properties.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"DelayHandler\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: this code looks like it forgot to bind `this`.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n setTimeout\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"patienceTracker\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5000\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" patienceTracker \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"waitedPatiently \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"true\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Explicitly manage `this` at call time.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"DelayHandler\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"constructor\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use anonymous functions if possible.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n setTimeout\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"patienceTracker\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"},\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"5000\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" patienceTracker\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"waitedPatiently \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"true\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"event-handlers\"}},[_vm._v(\" Event Handlers\"),_c('a',{attrs:{\"href\":\"#event-handlers\",\"alt\":\"link to event-handlers\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Event handlers \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" use arrow functions when there is no need to uninstall the handler (for example, if the event is emitted by the class itself). If the handler must be uninstalled, arrow function properties are the right approach, because they automatically capture \"),_c('code',[_vm._v(\"this\")]),_vm._v(\" and provide a stable reference to uninstall. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Event handlers may be anonymous functions or arrow function properties.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Component\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n onAttached\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// The event is emitted by this class, no need to uninstall.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"addEventListener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'click'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// this.listener is a stable reference, we can uninstall it later.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n window\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"addEventListener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'onbeforeunload'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n onDetached\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// The event is emitted by window. If we don't uninstall, this.listener will\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// keep a reference to `this` because it's bound, causing a memory leak.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n window\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"removeEventListener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'onbeforeunload'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// An arrow function stored in a property is bound to `this` automatically.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" listener \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n confirm\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Do you want to exit the page?'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"bind\")]),_vm._v(\" in the expression that installs an event handler, because it creates a temporary reference that can't be uninstalled. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Binding listeners creates a temporary reference that prevents uninstalling.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Component\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n onAttached\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// This creates a temporary reference that we won't be able to uninstall\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n window\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"addEventListener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'onbeforeunload'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bind\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"));\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n onDetached\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// This bind creates a different reference, so this line does nothing.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n window\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"removeEventListener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'onbeforeunload'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bind\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"this\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"));\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"private\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" listener\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n confirm\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Do you want to exit the page?'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"automatic-semicolon-insertion\"}},[_vm._v(\" Automatic Semicolon Insertion\"),_c('a',{attrs:{\"href\":\"#automatic-semicolon-insertion\",\"alt\":\"link to automatic-semicolon-insertion\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"ts-ignore\"}},[_vm._v(\" @ts-ignore\"),_c('a',{attrs:{\"href\":\"#ts-ignore\",\"alt\":\"link to ts-ignore\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"@ts-ignore\")]),_vm._v(\". It superficially seems to be an easy way to \"),_c('q',[_vm._v(\"fix\")]),_vm._v(\" a compiler error, but in practice, a specific compiler error is often caused by a larger problem that can be fixed more directly. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For example, if you are using \"),_c('code',[_vm._v(\"@ts-ignore\")]),_vm._v(\" to suppress a type error, then it's hard to predict what types the surrounding code will end up seeing. For many type errors, the advice in \"),_c('a',{attrs:{\"href\":\"#any\"}},[_vm._v(\"how to best use \"),_c('code',[_vm._v(\"any\")])]),_vm._v(\" is useful. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-and-non-nullability-assertions\"}},[_vm._v(\" Type and Non-nullability Assertions\"),_c('a',{attrs:{\"href\":\"#type-and-non-nullability-assertions\",\"alt\":\"link to type-and-non-nullability-assertions\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Type assertions (\"),_c('code',[_vm._v(\"x as SomeType\")]),_vm._v(\") and non-nullability assertions (\"),_c('code',[_vm._v(\"y!\")]),_vm._v(\") are unsafe. Both only silence the TypeScript compiler, but do not insert any runtime checks to match these assertions, so they can cause your program to crash at runtime. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Because of this, you \"),_c('em',[_vm._v(\"should not\")]),_vm._v(\" use type and non-nullability assertions without an obvious or explicit reason for doing so. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\").\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\ny\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"!.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// assuming Foo is a class.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"instanceof\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Sometimes due to some local property of your code you can be sure that the assertion form is safe. In those situations, you \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" add clarification to explain why you are ok with the unsafe behavior: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// x is a Foo, because ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\").\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// y cannot be null, because ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ny\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"!.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-assertions-syntax\"}},[_vm._v(\" Type Assertions Syntax\"),_c('a',{attrs:{\"href\":\"#type-assertions-syntax\",\"alt\":\"link to type-assertions-syntax\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Type assertions must use the \"),_c('code',[_vm._v(\"as\")]),_vm._v(\" syntax (as opposed to the angle brackets syntax). This enforces parentheses around the assertion when accessing a member. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(<\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"z\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\").\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" y \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"z\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"z as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\").\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"length\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-assertions-and-object-literals\"}},[_vm._v(\" Type Assertions and Object Literals\"),_c('a',{attrs:{\"href\":\"#type-assertions-and-object-literals\",\"alt\":\"link to type-assertions-and-object-literals\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use type annotations (\"),_c('code',[_vm._v(\": Foo\")]),_vm._v(\") instead of type assertions (\"),_c('code',[_vm._v(\"as Foo\")]),_vm._v(\") to specify the type of an object literal. This allows detecting refactoring bugs when the fields of an interface change over time. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"?:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// was \\\"bam\\\", but later renamed to \\\"baz\\\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// no error!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" func\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// no error!\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n baz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"?:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// complains about \\\"bam\\\" not being defined on Foo.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" func\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n bam\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// complains about \\\"bam\\\" not being defined on Foo.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"member-property-declarations\"}},[_vm._v(\" Member property declarations\"),_c('a',{attrs:{\"href\":\"#member-property-declarations\",\"alt\":\"link to member-property-declarations\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Interface and class declarations must use the \"),_c('code',[_vm._v(\";\")]),_vm._v(\" character to separate individual member declarations: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberA\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberB\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Interfaces specifically must not use the \"),_c('code',[_vm._v(\",\")]),_vm._v(\" character to separate fields, for symmetry with class declarations: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberA\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberB\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"type \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SomeTypeAlias\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberA\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n memberB\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someProperty\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"memberC\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" memberD\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"optimization-compatibility-for-property-access\"}},[_vm._v(\" Optimization compatibility for property access\"),_c('a',{attrs:{\"href\":\"#optimization-compatibility-for-property-access\",\"alt\":\"link to optimization-compatibility-for-property-access\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: code must use either non-quoted or quoted access for any property\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// consistently across the entire application:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nconsole\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"log\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'someField'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nconsole\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"log\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"someField\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Good: declaring an interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndeclare \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ServerInfoJson\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n appVersion\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n user\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"UserJson\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" data \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" JSON\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"parse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"serverResponse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ServerInfoJson\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nconsole\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"log\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"data\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"appVersion\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Type safe & renaming safe!\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"optimization-compatibility-for-module-object-imports\"}},[_vm._v(\" Optimization compatibility for module object imports\"),_c('a',{attrs:{\"href\":\"#optimization-compatibility-for-module-object-imports\",\"alt\":\"link to optimization-compatibility-for-module-object-imports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" When importing a module object, directly access properties on the module object rather than passing it around. This ensures that modules can be analyzed and optimized. Treating \"),_c('a',{attrs:{\"href\":\"#module-versus-destructuring-imports\"}},[_vm._v(\"module imports\")]),_vm._v(\" as namespaces is fine. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"method1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" method2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'utils'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" A \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n readonly utils \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"method1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" method2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as utils \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'utils'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" A \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n readonly utils \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" utils\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"exception\"}},[_vm._v(\" Exception\"),_c('a',{attrs:{\"href\":\"#exception\",\"alt\":\"link to exception\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"enums\"}},[_vm._v(\" Enums\"),_c('a',{attrs:{\"href\":\"#enums\",\"alt\":\"link to enums\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Always use \"),_c('code',[_vm._v(\"enum\")]),_vm._v(\" and not \"),_c('code',[_vm._v(\"const enum\")]),_vm._v(\". TypeScript enums already cannot be mutated; \"),_c('code',[_vm._v(\"const enum\")]),_vm._v(\" is a separate language feature related to optimization that makes the enum invisible to JavaScript users of the module. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"debugger-statements\"}},[_vm._v(\" Debugger statements\"),_c('a',{attrs:{\"href\":\"#debugger-statements\",\"alt\":\"link to debugger-statements\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" debugMe\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"debugger\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"decorators\"}},[_vm._v(\" Decorators\"),_c('a',{attrs:{\"href\":\"#decorators\",\"alt\":\"link to decorators\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Decorators are syntax with an \"),_c('code',[_vm._v(\"@\")]),_vm._v(\" prefix, like \"),_c('code',[_vm._v(\"@MyDecorator\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\" Angular (e.g. \"),_c('code',[_vm._v(\"@Component\")]),_vm._v(\", \"),_c('code',[_vm._v(\"@NgModule\")]),_vm._v(\", etc.) \")]),_c('li',[_vm._v(\"Polymer (e.g. \"),_c('code',[_vm._v(\"@property\")]),_vm._v(\")\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_vm._v(\" Why? \"),_c('p',[_vm._v(\" We generally want to avoid decorators, because they were an experimental feature that have since diverged from the TC39 proposal and have known bugs that won't be fixed. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"/** JSDoc comments go before decorators */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"@Component\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"({...})\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Note: no empty line after the decorator.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyComp\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"@Input\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" myField\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Decorators on fields may be on the same line...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"@Input\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n myOtherField\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ... or wrap.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h2',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"source-organization\"}},[_vm._v(\" Source Organization\"),_c('a',{attrs:{\"href\":\"#source-organization\",\"alt\":\"link to source-organization\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"modules\"}},[_vm._v(\" Modules\"),_c('a',{attrs:{\"href\":\"#modules\",\"alt\":\"link to modules\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"import-paths\"}},[_vm._v(\" Import Paths\"),_c('a',{attrs:{\"href\":\"#import-paths\",\"alt\":\"link to import-paths\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code must use paths to import other TypeScript code. Paths may be relative, i.e. starting with \"),_c('code',[_vm._v(\".\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"..\")]),_vm._v(\", or rooted at the base directory, e.g. \"),_c('code',[_vm._v(\"root/path/to/file\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" use relative imports (\"),_c('code',[_vm._v(\"./foo\")]),_vm._v(\") rather than absolute imports \"),_c('code',[_vm._v(\"path/to/foo\")]),_vm._v(\" when referring to files within the same (logical) project. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Consider limiting the number of parent steps (\"),_c('code',[_vm._v(\"../../../\")]),_vm._v(\") as those can make module and path structures hard to understand. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Symbol1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'google3/path/from/root'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Symbol2\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'../parent/file'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Symbol3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./sibling'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"namespaces-vs-modules\"}},[_vm._v(\" Namespaces vs Modules\"),_c('a',{attrs:{\"href\":\"#namespaces-vs-modules\",\"alt\":\"link to namespaces-vs-modules\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript supports two methods to organize code: \"),_c('em',[_vm._v(\"namespaces\")]),_vm._v(\" and \"),_c('em',[_vm._v(\"modules\")]),_vm._v(\", but namespaces are disallowed. google3 code must use TypeScript \"),_c('em',[_vm._v(\"modules\")]),_vm._v(\" (which are \"),_c('a',{attrs:{\"href\":\"http://exploringjs.com/es6/ch_modules.html\"}},[_vm._v(\"ECMAScript 6 modules\")]),_vm._v(\"). That is, your code \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" refer to code in other files using imports and exports of the form \"),_c('code',[_vm._v(\"import {foo} from 'bar';\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Your code must not use the \"),_c('code',[_vm._v(\"namespace Foo { ... }\")]),_vm._v(\" construct. \"),_c('code',[_vm._v(\"namespace\")]),_vm._v(\"s may only be used when required to interface with external, third party code. To semantically namespace your code, use separate files. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code must not use \"),_c('code',[_vm._v(\"require\")]),_vm._v(\" (as in \"),_c('code',[_vm._v(\"import x = require('...');\")]),_vm._v(\") for imports. Use ES6 module syntax. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: do not use namespaces:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nnamespace \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Rocket\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" launch\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: do not use \")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/// \")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: do not use require()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" require\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'mydep'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('blockquote',[_c('p',{staticClass:\"nb\"},[_vm._v(\" NB: TypeScript \"),_c('code',[_vm._v(\"namespace\")]),_vm._v(\"s used to be called internal modules and used to use the \"),_c('code',[_vm._v(\"module\")]),_vm._v(\" keyword in the form \"),_c('code',[_vm._v(\"module Foo { ... }\")]),_vm._v(\". Don't use that either. Always use ES6 imports. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"exports\"}},[_vm._v(\" Exports\"),_c('a',{attrs:{\"href\":\"#exports\",\"alt\":\"link to exports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Use named exports:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Do not use default exports:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"default\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// BAD!\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" Default exports provide no canonical name, which makes central maintenance difficult with relatively little benefit to code owners, including potentially decreased readability: \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Legal.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Also legal.\")])]),_c('p',[_vm._v(\" Named exports have the benefit of erroring when import statements try to import something that hasn't been declared. In \"),_c('code',[_vm._v(\"foo.ts\")]),_vm._v(\": \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'blah'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"default\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])]),_c('p',[_vm._v(\"And in \"),_c('code',[_vm._v(\"bar.ts\")]),_vm._v(\":\")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fizz\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])]),_c('p',[_vm._v(\" Results in \"),_c('code',[_vm._v(\"error TS2614: Module '\\\"./foo\\\"' has no exported member 'fizz'.\")]),_vm._v(\" While \"),_c('code',[_vm._v(\"bar.ts\")]),_vm._v(\": \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" fizz \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])]),_c('p',[_vm._v(\" Results in \"),_c('code',[_vm._v(\"fizz === foo\")]),_vm._v(\", which is probably unexpected and difficult to debug. \")]),_c('p',[_vm._v(\" Additionally, default exports encourage people to put everything into one big object to namespace it all together: \")]),_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"default\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"static\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" SOME_CONSTANT \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"static\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someHelpfulFunction\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])]),_c('p',[_vm._v(\" With the above pattern, we have file scope, which can be used as a namespace. We also have a perhaps needless second scope (the class \"),_c('code',[_vm._v(\"Foo\")]),_vm._v(\") that can be ambiguously used as both a type and a value in other files. \")]),_c('p',[_vm._v(\" Instead, prefer use of file scope for namespacing, as well as named exports: \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" SOME_CONSTANT \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" someHelpfulFunction\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// only class stuff here\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"export-visibility\"}},[_vm._v(\" Export visibility\"),_c('a',{attrs:{\"href\":\"#export-visibility\",\"alt\":\"link to export-visibility\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"mutable-exports\"}},[_vm._v(\" Mutable Exports\"),_c('a',{attrs:{\"href\":\"#mutable-exports\",\"alt\":\"link to mutable-exports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Regardless of technical support, mutable exports can create hard to understand and debug code, in particular with re-exports across multiple modules. One way to paraphrase this style point is that \"),_c('code',[_vm._v(\"export let\")]),_vm._v(\" is not allowed. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// In pure ES6, foo is mutable and importers will observe the value change after a second.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// In TS, if foo is re-exported by a second file, importers will not see the value change.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nwindow\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"setTimeout\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"4\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"},\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1000\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* ms */\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"3\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nwindow\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"setTimeout\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n foo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"4\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"},\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1000\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* ms */\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use an explicit getter to access the mutable export.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" getFoo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" pickApi\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"useOtherApi\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"())\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"OtherApi\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"RegularApi\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"SomeApi\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" pickApi\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"container-classes\"}},[_vm._v(\" Container Classes\"),_c('a',{attrs:{\"href\":\"#container-classes\",\"alt\":\"link to container-classes\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Container\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"static\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" FOO \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"static\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" FOO \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"1\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"imports\"}},[_vm._v(\" Imports\"),_c('a',{attrs:{\"href\":\"#imports\",\"alt\":\"link to imports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_c('table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Import type\")]),_c('th',[_vm._v(\"Example\")]),_c('th',[_vm._v(\"Use for\")])])]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\"module\")]),_c('td',[_c('code',[_vm._v(\"import * as foo from '...';\")])]),_c('td',[_vm._v(\"TypeScript imports\")])]),_c('tr',[_c('td',[_vm._v(\"destructuring\")]),_c('td',[_c('code',[_vm._v(\"import {SomeThing} from '...';\")])]),_c('td',[_vm._v(\"TypeScript imports\")])]),_c('tr',[_c('td',[_vm._v(\"default\")]),_c('td',[_c('code',[_vm._v(\"import SomeThing from '...';\")])]),_c('td',[_vm._v(\"Only for other external code that requires them\")])]),_c('tr',[_c('td',[_vm._v(\"side-effect\")]),_c('td',[_c('code',[_vm._v(\"import '...';\")])]),_c('td',[_vm._v(\" Only to import libraries for their side-effects on load (such as custom elements) \")])])])]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Good: choose between two options as appropriate (see below).\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as ng \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'@angular/core'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Only when needed: default imports.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Button\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Button'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Sometimes needed to import libraries for their side effects:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'jasmine'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'@polymer/paper-button'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"module-versus-destructuring-imports\"}},[_vm._v(\" Module versus destructuring imports\"),_c('a',{attrs:{\"href\":\"#module-versus-destructuring-imports\",\"alt\":\"link to module-versus-destructuring-imports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Despite the \"),_c('code',[_vm._v(\"*\")]),_vm._v(\", a module import is not comparable to a \"),_c('q',[_vm._v(\"wildcard\")]),_vm._v(\" import as seen in other languages. Instead, module imports give a name to the entire module and each symbol reference mentions the module, which can make code more readable and gives autocompletion on all symbols in a module. They also require less import churn (all symbols are available), fewer name collisions, and allow terser names in the module that's imported. Module imports are particularly useful when using many different symbols from large APIs. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Destructuring imports give local names for each imported symbol. They allow terser code when using the imported symbol, which is particularly useful for very commonly used symbols, such as Jasmine's \"),_c('code',[_vm._v(\"describe\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"it\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: overlong import statement of needlessly namespaced names.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewItem\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewHeader\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewRow\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewModel\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewRenderer\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./tableview'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" item\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"TableViewItem\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Better: use the module for namespacing.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as tableview \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./tableview'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"let\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" item\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" tableview\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Item\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"*\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as testing \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./testing'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// All tests will use the same three functions repeatedly.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// When importing only a few symbols that are used very frequently, also\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// consider importing the symbols directly (see below).\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntesting\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"describe\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n testing\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"it\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n testing\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"expect\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n testing\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"expect\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Better: give local names for these common functions.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"describe\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" it\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" expect\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./testing'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\ndescribe\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n it\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=>\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n expect\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n expect\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(...);\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"});\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"renaming-imports\"}},[_vm._v(\" Renaming imports\"),_c('a',{attrs:{\"href\":\"#renaming-imports\",\"alt\":\"link to renaming-imports\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" fix name collisions by using a module import or renaming the exports themselves. Code \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" rename imports (\"),_c('code',[_vm._v(\"import {SomeThing as SomeOtherThing}\")]),_vm._v(\") if needed. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ol',[_c('li',[_vm._v(\" If it's necessary to avoid collisions with other imported symbols. \")]),_c('li',[_vm._v(\"If the imported symbol name is generated.\")]),_c('li',[_vm._v(\" If importing symbols whose names are unclear by themselves, renaming can improve code clarity. For example, when using RxJS the \"),_c('code',[_vm._v(\"from\")]),_vm._v(\" function might be more readable when renamed to \"),_c('code',[_vm._v(\"observableFrom\")]),_vm._v(\". \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"import-export-type\"}},[_vm._v(\" Import & export type\"),_c('a',{attrs:{\"href\":\"#import-export-type\",\"alt\":\"link to import-export-type\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Do not use \"),_c('code',[_vm._v(\"import type ... from\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"export type ... from\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"note\"},[_vm._v(\" Note: this does not apply to exporting type definitions, i.e. \"),_c('code',[_vm._v(\"export type Foo = ...;\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" type \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" type \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"import\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./foo'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"export\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Bar\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"from\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'./bar'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" TypeScript tooling automatically handles the distinction and does not insert runtime loads for type references. This gives a better developer UX: toggling back and forth between \"),_c('code',[_vm._v(\"import type\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"import\")]),_vm._v(\" is bothersome. At the same time, \"),_c('code',[_vm._v(\"import type\")]),_vm._v(\" gives no guarantees: your code might still have a hard dependency on some import through a different transitive path. \")]),_c('p',[_vm._v(\" If you need to force a runtime load for side effects, use \"),_c('code',[_vm._v(\"import '...';\")]),_vm._v(\". See \")]),_c('p',[_c('code',[_vm._v(\"export type\")]),_vm._v(\" might seem useful to avoid ever exporting a value symbol for an API. However it does not give guarantees either: downstream code might still import an API through a different path. A better way to split & guarantee type vs value usages of an API is to actually split the symbols into e.g. \"),_c('code',[_vm._v(\"UserService\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"AjaxUserService\")]),_vm._v(\". This is less error prone and also better communicates intent. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"organize-by-feature\"}},[_vm._v(\" Organize By Feature\"),_c('a',{attrs:{\"href\":\"#organize-by-feature\",\"alt\":\"link to organize-by-feature\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Organize packages by feature, not by type. For example, an online shop \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" have packages named \"),_c('code',[_vm._v(\"products\")]),_vm._v(\", \"),_c('code',[_vm._v(\"checkout\")]),_vm._v(\", \"),_c('code',[_vm._v(\"backend\")]),_vm._v(\", not \"),_c('del',[_c('code',[_vm._v(\"views\")]),_vm._v(\", \"),_c('code',[_vm._v(\"models\")]),_vm._v(\", \"),_c('code',[_vm._v(\"controllers\")])]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h2',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-system\"}},[_vm._v(\" Type System\"),_c('a',{attrs:{\"href\":\"#type-system\",\"alt\":\"link to type-system\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"type-inference\"}},[_vm._v(\" Type Inference\"),_c('a',{attrs:{\"href\":\"#type-inference\",\"alt\":\"link to type-inference\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Code may rely on type inference as implemented by the TypeScript compiler for all type expressions (variables, fields, return types, etc). The google3 compiler flags reject code that does not have a type annotation and cannot be inferred, so all code is guaranteed to be typed (but might use the \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" type explicitly). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"15\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Type inferred.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Leave out type annotations for trivially inferred types: variables or parameters initialized to a \"),_c('code',[_vm._v(\"string\")]),_vm._v(\", \"),_c('code',[_vm._v(\"number\")]),_vm._v(\", \"),_c('code',[_vm._v(\"boolean\")]),_vm._v(\", \"),_c('code',[_vm._v(\"RegExp\")]),_vm._v(\" literal or \"),_c('code',[_vm._v(\"new\")]),_vm._v(\" expression. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" boolean \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"true\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: 'boolean' here does not aid readability\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad: 'Set' is trivially inferred from the initialization\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Set\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Set\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Set\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">();\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"return-types\"}},[_vm._v(\" Return types\"),_c('a',{attrs:{\"href\":\"#return-types\",\"alt\":\"link to return-types\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Whether to include return type annotations for functions and methods is up to the code author. Reviewers \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" ask for annotations to clarify complex return types that are hard to understand. Projects \"),_c('em',[_vm._v(\"may\")]),_vm._v(\" have a local policy to always require return types, but this is not a general TypeScript style requirement. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\"More precise documentation to benefit readers of the code.\")]),_c('li',[_vm._v(\" Surface potential type errors faster in the future if there are code changes that change the return type of the function. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"null-vs-undefined\"}},[_vm._v(\" Null vs Undefined\"),_c('a',{attrs:{\"href\":\"#null-vs-undefined\",\"alt\":\"link to null-vs-undefined\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript supports \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\" types. Nullable types can be constructed as a union type (\"),_c('code',[_vm._v(\"string|null\")]),_vm._v(\"); similarly with \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\". There is no special syntax for unions of \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript code can use either \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" to denote absence of a value, there is no general guidance to prefer one over the other. Many JavaScript APIs use \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\" (e.g. \"),_c('code',[_vm._v(\"Map.get\")]),_vm._v(\"), while many DOM and Google APIs use \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" (e.g. \"),_c('code',[_vm._v(\"Element.getAttribute\")]),_vm._v(\"), so the appropriate absent value depends on the context. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"nullableundefined-type-aliases\"}},[_vm._v(\" Nullable/undefined type aliases\"),_c('a',{attrs:{\"href\":\"#nullableundefined-type-aliases\",\"alt\":\"link to nullableundefined-type-aliases\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Type aliases \"),_c('em',[_vm._v(\"must not\")]),_vm._v(\" include \"),_c('code',[_vm._v(\"|null\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"|undefined\")]),_vm._v(\" in a union type. Nullable aliases typically indicate that null values are being passed around through too many layers of an application, and this clouds the source of the original issue that resulted in \"),_c('code',[_vm._v(\"null\")]),_vm._v(\". They also make it unclear when specific values on a class or interface might be absent. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Instead, code \"),_c('em',[_vm._v(\"must\")]),_vm._v(\" only add \"),_c('code',[_vm._v(\"|null\")]),_vm._v(\" or \"),_c('code',[_vm._v(\"|undefined\")]),_vm._v(\" when the alias is actually used. Code \"),_c('em',[_vm._v(\"should\")]),_vm._v(\" deal with null values close to where they arise, using the above techniques. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Bad\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntype \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Latte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Americano\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"undefined\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeService\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n getLatte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Better\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntype \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Latte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Americano\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeService\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n getLatte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"undefined\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Best\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntype \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Latte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Americano\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeService\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n getLatte\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeResponse\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" assert\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fetchResponse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(),\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'Coffee maker is broken, file a ticket'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"optionals-vs-undefined-type\"}},[_vm._v(\" Optionals vs \"),_c('code',[_vm._v(\"|undefined\")]),_vm._v(\" type\"),_c('a',{attrs:{\"href\":\"#optionals-vs-undefined-type\",\"alt\":\"link to optionals-vs-undefined-type\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" In addition, TypeScript supports a special construct for optional parameters and fields, using \"),_c('code',[_vm._v(\"?\")]),_vm._v(\": \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"CoffeeOrder\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n sugarCubes\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n milk\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"?:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Whole\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"LowFat\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"HalfHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" pourCoffee\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"volume\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"?:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Milliliter\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Optional parameters implicitly include \"),_c('code',[_vm._v(\"|undefined\")]),_vm._v(\" in their type. However, they are different in that they can be left out when constructing a value or calling a method. For example, \"),_c('code',[_vm._v(\"{sugarCubes: 1}\")]),_vm._v(\" is a valid \"),_c('code',[_vm._v(\"CoffeeOrder\")]),_vm._v(\" because \"),_c('code',[_vm._v(\"milk\")]),_vm._v(\" is optional. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Use optional fields (on interfaces or classes) and parameters rather than a \"),_c('code',[_vm._v(\"|undefined\")]),_vm._v(\" type. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"class\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyClass\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n field \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"''\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"structural-types-vs-nominal-types\"}},[_vm._v(\" Structural Types vs Nominal Types\"),_c('a',{attrs:{\"href\":\"#structural-types-vs-nominal-types\",\"alt\":\"link to structural-types-vs-nominal-types\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" foo\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Foo\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n a\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" badFoo \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n a\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"123\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'abc'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" The \"),_c('q',[_vm._v(\"badFoo\")]),_vm._v(\" object above relies on type inference. Additional fields could be added to \"),_c('q',[_vm._v(\"badFoo\")]),_vm._v(\" and the type is inferred based on the object itself. \")]),_c('p',[_vm._v(\" When passing a \"),_c('q',[_vm._v(\"badFoo\")]),_vm._v(\" to a function that takes a \"),_c('q',[_vm._v(\"Foo\")]),_vm._v(\", the error will be at the function call site, rather than at the object declaration site. This is also useful when changing the surface of an interface across broad codebases. \")]),_c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Animal\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n sound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n name\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" makeSound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"animal\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Animal\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * 'cat' has an inferred type of '{sound: string}'\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" cat \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n sound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'meow'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * 'cat' does not meet the type contract required for the function, so the\\n * TypeScript compiler errors here, which may be very far from where 'cat' is\\n * defined.\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nmakeSound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"cat\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/**\\n * Horse has a structural type and the type error shows here rather than the\\n * function call. 'horse' does not meet the type contract of 'Animal'.\\n */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" horse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Animal\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n sound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'niegh'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" dog\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Animal\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n sound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'bark'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n name\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'MrPickles'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\nmakeSound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"dog\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nmakeSound\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"horse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"interfaces-vs-type-aliases\"}},[_vm._v(\" Interfaces vs Type Aliases\"),_c('a',{attrs:{\"href\":\"#interfaces-vs-type-aliases\",\"alt\":\"link to interfaces-vs-type-aliases\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript supports \"),_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-aliases\"}},[_vm._v(\"type aliases\")]),_vm._v(\" for naming a type expression. This can be used to name primitives, unions, tuples, and any other types. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"User\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n firstName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n lastName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"pln\"},[_vm._v(\"type \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"User\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n firstName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n lastName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" Why? \"),_c('p',[_vm._v(\" These forms are nearly equivalent, so under the principle of just choosing one out of two forms to prevent variation, we should choose one. Additionally, there also \"),_c('a',{attrs:{\"href\":\"https://ncjamieson.com/prefer-interfaces/\"}},[_vm._v(\"interesting technical reasons to prefer interface\")]),_vm._v(\". That page quotes the TypeScript team lead: \"),_c('q',[_vm._v(\"Honestly, my take is that it should really just be interfaces for anything that they can model. There is no benefit to type aliases when there are so many issues around display/perf.\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"arrayt-type\"}},[_c('code',[_vm._v(\"Array\")]),_vm._v(\" Type\"),_c('a',{attrs:{\"href\":\"#arrayt-type\",\"alt\":\"link to arrayt-type\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For simple types (containing just alphanumeric characters and dot), use the syntax sugar for arrays, \"),_c('code',[_vm._v(\"T[]\")]),_vm._v(\", rather than the longer form \"),_c('code',[_vm._v(\"Array\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For anything more complex, use the longer form \"),_c('code',[_vm._v(\"Array\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" This also applies for \"),_c('code',[_vm._v(\"readonly T[]\")]),_vm._v(\" vs \"),_c('code',[_vm._v(\"ReadonlyArray\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" a\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" b\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" c\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" ns\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyObj\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" d\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Array\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">;\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" e\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ReadonlyArray\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" f\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Array\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">;\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// the syntax sugar is shorter\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" g\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"ReadonlyArray\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">;\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" h\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" s\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// the braces/parens make it harder to read\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" i\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")[];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" j\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" readonly \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")[];\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"indexable-key-string-number-type\"}},[_vm._v(\" Indexable (\"),_c('code',[_vm._v(\"{[key: string]: number}\")]),_vm._v(\") Type\"),_c('a',{attrs:{\"href\":\"#indexable-key-string-number-type\",\"alt\":\"link to indexable-key-string-number-type\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" In JavaScript, it's common to use an object as an associative array (aka \"),_c('q',[_vm._v(\"map\")]),_vm._v(\", \"),_c('q',[_vm._v(\"hash\")]),_vm._v(\", or \"),_c('q',[_vm._v(\"dict\")]),_vm._v(\"): \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" fileSizes\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"fileName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nfileSizes\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'readme.txt'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"lit\"},[_vm._v(\"541\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" users\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"key\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" users\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"userName\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...;\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('blockquote',[_c('p',[_vm._v(\" Rather than using one of these, consider using the ES6 \"),_c('code',[_vm._v(\"Map\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"Set\")]),_vm._v(\" types instead. JavaScript objects have \"),_c('a',{attrs:{\"href\":\"http://2ality.com/2012/01/objects-as-maps.html\"}},[_vm._v(\"surprising undesirable behaviors\")]),_vm._v(\" and the ES6 types more explicitly convey your intent. Also, \"),_c('code',[_vm._v(\"Map\")]),_vm._v(\"s can be keyed by—and \"),_c('code',[_vm._v(\"Set\")]),_vm._v(\"s can contain—types other than \"),_c('code',[_vm._v(\"string\")]),_vm._v(\". \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript's builtin \"),_c('code',[_vm._v(\"Record\")]),_vm._v(\" type allows constructing types with a defined set of keys. This is distinct from associative arrays in that the keys are statically known. See advice on that \"),_c('a',{attrs:{\"href\":\"#mapped-conditional-types\"}},[_vm._v(\"below\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"mapped-conditional-types\"}},[_vm._v(\" Mapped & Conditional Types\"),_c('a',{attrs:{\"href\":\"#mapped-conditional-types\",\"alt\":\"link to mapped-conditional-types\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript's \"),_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types\"}},[_vm._v(\"mapped types\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/docs/handbook/advanced-types.html#conditional-types\"}},[_vm._v(\"conditional types\")]),_vm._v(\" allow specifying new types based on other types. TypeScript's standard library includes several type operators based on these (\"),_c('code',[_vm._v(\"Record\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Partial\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Readonly\")]),_vm._v(\" etc). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\" Compared to explicitly specifying properties and type relations (e.g. using interfaces and extension, see below for an example), type operators require the reader to mentally evaluate the type expression. This can make programs substantially harder to read, in particular combined with type inference and expressions crossing file boundaries. \")]),_c('li',[_vm._v(\" Mapped & conditional types' evaluation model, in particular when combined with type inference, is underspecified, not always well understood, and often subject to change in TypeScript compiler versions. Code can \"),_c('q',[_vm._v(\"accidentally\")]),_vm._v(\" compile or seem to give the right results. This increases future support cost of code using type operators. \")]),_c('li',[_vm._v(\" Mapped & conditional types are most powerful when deriving types from complex and/or inferred types. On the flip side, this is also when they are most prone to create hard to understand and maintain programs. \")]),_c('li',[_vm._v(\" Some language tooling does not work well with these type system features. E.g. your IDE's find references (and thus rename property refactoring) will not find properties in a \"),_c('code',[_vm._v(\"Pick\")]),_vm._v(\" type, and Code Search won't hyperlink them. \")]),_c('li')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_vm._v(\" Always use the simplest type construct that can possibly express your code. \")]),_c('li',[_vm._v(\" A little bit of repetition or verbosity is often much cheaper than the long term cost of complex type expressions. \")]),_c('li',[_vm._v(\" Mapped & conditional types may be used, subject to these considerations. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"zippy\"},[_vm._v(\" For example, TypeScript's builtin \"),_c('code',[_vm._v(\"Pick\")]),_vm._v(\" type allows creating a new type by subsetting another type \"),_c('code',[_vm._v(\"T\")]),_vm._v(\", but simple interface extension can often be easier to understand. \"),_c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"User\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n shoeSize\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n favoriteIcecream\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n favoriteChocolate\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// FoodPreferences has favoriteIcecream and favoriteChocolate, but not shoeSize.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntype \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FoodPreferences\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Pick\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"User\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'favoriteIcecream'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'favoriteChocolate'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">;\")])]),_c('p',[_vm._v(\" This is equivalent to spelling out the properties on \"),_c('code',[_vm._v(\"FoodPreferences\")]),_vm._v(\": \")]),_c('pre',{staticClass:\"language-ts prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FoodPreferences\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n favoriteIcecream\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n favoriteChocolate\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])]),_c('p',[_vm._v(\" To reduce duplication, \"),_c('code',[_vm._v(\"User\")]),_vm._v(\" could extend \"),_c('code',[_vm._v(\"FoodPreferences\")]),_vm._v(\", or (possibly better) nest a field for food preferences: \")]),_c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FoodPreferences\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* as above */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"User\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" extends \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"FoodPreferences\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n shoeSize\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// also includes the preferences.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])]),_c('p',[_vm._v(\" Using interfaces here makes the grouping of properties explicit, improves IDE support, allows better optimization, and arguably makes the code easier to understand. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"any\"}},[_c('code',[_vm._v(\"any\")]),_vm._v(\" Type\"),_c('a',{attrs:{\"href\":\"#any\",\"alt\":\"link to any\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" TypeScript's \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" type is a super and subtype of all other types, and allows dereferencing all properties. As such, \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" is dangerous - it can mask severe programming errors, and its use undermines the value of having static types in the first place. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_c('strong',[_vm._v(\"Consider \"),_c('em',[_vm._v(\"not\")]),_vm._v(\" to use \"),_c('code',[_vm._v(\"any\")]),_vm._v(\".\")]),_vm._v(\" In circumstances where you want to use \"),_c('code',[_vm._v(\"any\")]),_vm._v(\", consider one of: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"#any-specific\"}},[_vm._v(\"Provide a more specific type\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#any-unknown\"}},[_vm._v(\"Use \"),_c('code',[_vm._v(\"unknown\")])])]),_c('li',[_c('a',{attrs:{\"href\":\"#any-suppress\"}},[_vm._v(\"Suppress the lint warning and document why\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"any-specific\"}},[_vm._v(\" Providing a more specific type\"),_c('a',{attrs:{\"href\":\"#any-specific\",\"alt\":\"link to any-specific\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Use declared interfaces to represent server-side JSON.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndeclare \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyUserJson\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n name\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n email\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use type aliases for types that are repetitive to write.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ntype \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyType\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Or use inline object types for complex returns.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" getTwoThings\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"():\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"something\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" other\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// ...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"something\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" other\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use a generic type, where otherwise a library would say `any` to represent\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// they don't care what type the user is operating on (but note \\\"Return type\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// only generics\\\" below).\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" nicestElement\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"<\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"T\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\">(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"items\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" T\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[]):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" T \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Find the nicest element in items.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Code can also put constraints on T, e.g. .\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"any-unknown\"}},[_vm._v(\" Using \"),_c('code',[_vm._v(\"unknown\")]),_vm._v(\" over \"),_c('code',[_vm._v(\"any\")]),_c('a',{attrs:{\"href\":\"#any-unknown\",\"alt\":\"link to any-unknown\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" The \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" type allows assignment into any other type and dereferencing any property off it. Often this behaviour is not necessary or desirable, and code just needs to express that a type is unknown. Use the built-in type \"),_c('code',[_vm._v(\"unknown\")]),_vm._v(\" in that situation — it expresses the concept and is much safer as it does not allow dereferencing arbitrary properties. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// Can assign any value (including null or undefined) into this but cannot\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// use it without narrowing the type or casting.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" val\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" unknown \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" value\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" danger\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" any \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" value \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* result of an arbitrary expression */\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\ndanger\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"whoops\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"();\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// This access is completely unchecked!\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',[_vm._v(\" To safely use \"),_c('code',[_vm._v(\"unknown\")]),_vm._v(\" values, narrow the type using a \"),_c('a',{attrs:{\"href\":\"https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types\"}},[_vm._v(\"type guard\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h4',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"any-suppress\"}},[_vm._v(\" Suppressing \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" lint warnings\"),_c('a',{attrs:{\"href\":\"#any-suppress\",\"alt\":\"link to any-suppress\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Sometimes using \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" is legitimate, for example in tests to construct a mock object. In such cases, add a comment that suppresses the lint warning, and document why it is legitimate. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"com\"},[_vm._v(\"// This test only needs a partial implementation of BookService, and if\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// we overlooked something the test will fail in an obvious way.\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// This is an intentionally unsafe partial mock\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// tslint:disable-next-line:no-any\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" mockBookService \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"({\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"get\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"()\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" mockBook\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as any\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\")\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"BookService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Shopping cart is not used in this test\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// tslint:disable-next-line:no-any\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" component \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"new\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"MyComponent\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"mockBookService\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"com\"},[_vm._v(\"/* unused ShoppingCart */\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"null\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" as any\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"tuple-types\"}},[_vm._v(\" Tuple Types\"),_c('a',{attrs:{\"href\":\"#tuple-types\",\"alt\":\"link to tuple-types\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts bad prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"interface\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Pair\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n first\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n second\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\";\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitInHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"input\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"typ\"},[_vm._v(\"Pair\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"first\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" second\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"};\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitInHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"input\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"return\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"x\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" y\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"];\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use it like:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"[\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"leftHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" rightHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"]\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitInHalf\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"str\"},[_vm._v(\"'my string'\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" If declaring an \"),_c('code',[_vm._v(\"interface\")]),_vm._v(\" is too heavyweight, you can use an inline object literal type: \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"language-ts good prettyprint prettyprinted\"},[_c('span',{staticClass:\"kwd\"},[_vm._v(\"function\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitHostPort\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"address\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"):\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"host\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" string\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" port\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\":\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" number\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"...\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// Use it like:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" address \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitHostPort\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"userAddress\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\nuse\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"address\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\".\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"port\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\\n\")]),_c('span',{staticClass:\"com\"},[_vm._v(\"// You can also get tuple-like behavior using destructuring:\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"\\n\")]),_c('span',{staticClass:\"kwd\"},[_vm._v(\"const\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"{\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"host\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\",\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" port\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"}\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" \")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"=\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\" splitHostPort\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\"(\")]),_c('span',{staticClass:\"pln\"},[_vm._v(\"userAddress\")]),_c('span',{staticClass:\"pun\"},[_vm._v(\");\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"wrapper-types\"}},[_vm._v(\" Wrapper types\"),_c('a',{attrs:{\"href\":\"#wrapper-types\",\"alt\":\"link to wrapper-types\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('li',[_c('code',[_vm._v(\"String\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Boolean\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"Number\")]),_vm._v(\" have slightly different meaning from the corresponding primitive types \"),_c('code',[_vm._v(\"string\")]),_vm._v(\", \"),_c('code',[_vm._v(\"boolean\")]),_vm._v(\", and \"),_c('code',[_vm._v(\"number\")]),_vm._v(\". Always use the lowercase version. \")]),_c('li',[_c('code',[_vm._v(\"Object\")]),_vm._v(\" has similarities to both \"),_c('code',[_vm._v(\"{}\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"object\")]),_vm._v(\", but is slightly looser. Use \"),_c('code',[_vm._v(\"{}\")]),_vm._v(\" for a type that include everything except \"),_c('code',[_vm._v(\"null\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"undefined\")]),_vm._v(\", or lowercase \"),_c('code',[_vm._v(\"object\")]),_vm._v(\" to further exclude the other primitive types (the three mentioned above, plus \"),_c('code',[_vm._v(\"symbol\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"bigint\")]),_vm._v(\"). \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" Further, never invoke the wrapper types as constructors (with \"),_c('code',[_vm._v(\"new\")]),_vm._v(\"). \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"return-type-only-generics\"}},[_vm._v(\" Return type only generics\"),_c('a',{attrs:{\"href\":\"#return-type-only-generics\",\"alt\":\"link to return-type-only-generics\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h2',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"consistency\"}},[_vm._v(\" Consistency\"),_c('a',{attrs:{\"href\":\"#consistency\",\"alt\":\"link to consistency\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" For any style question that isn't settled definitively by this specification, do what the other code in the same file is already doing (\"),_c('q',[_vm._v(\"be consistent\")]),_vm._v(\"). If that doesn't resolve the question, consider emulating the other files in the same directory. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('h3',{staticStyle:{\"left\":\"-46px\",\"position\":\"relative\"},attrs:{\"id\":\"goals\"}},[_vm._v(\" Goals\"),_c('a',{attrs:{\"href\":\"#goals\",\"alt\":\"link to goals\"}},[_c('img',{staticStyle:{\"float\":\"left\",\"position\":\"relative\",\"bottom\":\"5px\"},attrs:{\"src\":require(\"../assets/img/link.png\"),\"width\":\"21\",\"height\":\"21\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',[_vm._v(\" In general, engineers usually know best about what's needed in their code, so if there are multiple options and the choice is situation dependent, we should let decisions be made locally. So the default answer should be \"),_c('q',[_vm._v(\"leave it out\")]),_vm._v(\". \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('ol',[_c('li',[_c('p',[_c('strong',[_vm._v(\"Code should avoid patterns that are known to cause problems, especially for users new to the language.\")])]),_c('p',{staticClass:\"examples\"},[_vm._v(\"Examples:\")]),_c('ul',[_c('li',[_vm._v(\" The \"),_c('code',[_vm._v(\"any\")]),_vm._v(\" type is easy to misuse (is that variable \"),_c('em',[_vm._v(\"really\")]),_vm._v(\" both a number and callable as a function?), so we have recommendations for how to use it. \")]),_c('li',[_vm._v(\" TypeScript \"),_c('code',[_vm._v(\"namespace\")]),_vm._v(\" causes trouble for Closure optimization. \")]),_c('li',[_vm._v(\" Periods within filenames make them ugly/confusing to import from JavaScript. \")]),_c('li',[_vm._v(\" Static functions in classes optimize confusingly, while often file-level functions accomplish the same goal. \")]),_c('li',[_vm._v(\" Users unaware of the \"),_c('code',[_vm._v(\"private\")]),_vm._v(\" keyword will attempt to obfuscate their function names with underscores. \")])])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Code across projects should be consistent across irrelevant variations.\")])]),_c('p',[_vm._v(\" When there are two options that are equivalent in a superficial way, we should consider choosing one just so we don't divergently evolve for no reason and avoid pointless debates in code reviews. \")]),_c('p',[_vm._v(\" We should usually match JavaScript style as well, because people often write both languages together. \")]),_c('p',{staticClass:\"examples\"},[_vm._v(\"Examples:\")]),_c('ul',[_c('li',[_vm._v(\"The capitalization style of names.\")]),_c('li',[_c('code',[_vm._v(\"x as T\")]),_vm._v(\" syntax vs the equivalent \"),_c('code',[_vm._v(\"x\")]),_vm._v(\" syntax (disallowed). \")]),_c('li',[_c('code',[_vm._v(\"Array<[number, number]>\")]),_vm._v(\" vs \"),_c('code',[_vm._v(\"[number, number][]\")]),_vm._v(\". \")])])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Code should be maintainable in the long term.\")])]),_c('p',[_vm._v(\" Code usually lives longer than the original author works on it, and the TypeScript team must keep all of Google working into the future. \")]),_c('p',{staticClass:\"examples\"},[_vm._v(\"Examples:\")]),_c('ul',[_c('li',[_vm._v(\" We use software to automate changes to code, so code is autoformatted so it's easy for software to meet whitespace rules. \")]),_c('li',[_vm._v(\" We require a single set of Closure compilation flags, so a given TS library can be written assuming a specific set of flags, and users can always safely use a shared library. \")]),_c('li',[_vm._v(\" Code must import the libraries it uses (\"),_c('q',[_vm._v(\"strict deps\")]),_vm._v(\") so that a refactor in a dependency doesn't change the dependencies of its users. \")]),_c('li',[_vm._v(\" We ask users to write tests. Without tests we cannot have confidence that changes that we make to the language, or google3-wide library changes, don't break users. \")])])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"Code reviewers should be focused on improving the quality of the code, not enforcing arbitrary rules.\")])]),_c('p',[_vm._v(\" If it's possible to implement your rule as an automated check that is often a good sign. This also supports principle 3. \")]),_c('p',[_vm._v(\" If it really just doesn't matter that much -- if it's an obscure corner of the language or if it avoids a bug that is unlikely to occur -- it's probably worth leaving out. \")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-header\"},[_c('h3',{staticClass:\"modal-title\",attrs:{\"id\":\"exampleModalLabel\"}},[_vm._v(\"Code review\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input\",attrs:{\"id\":\"Syntax\",\"type\":\"checkbox\",\"value\":\"\"}}),_c('label',{staticClass:\"form-check-label\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"for\":\"Syntax\"}},[_c('h5',[_vm._v(\"Syntax\")])])]),_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input\",attrs:{\"id\":\"LanguageRules\",\"type\":\"checkbox\",\"value\":\"\"}}),_c('label',{staticClass:\"form-check-label\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"for\":\"LanguageRules\"}},[_c('h5',[_vm._v(\"Language Rules\")])])]),_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input\",attrs:{\"id\":\"Source\",\"type\":\"checkbox\",\"value\":\"\"}}),_c('label',{staticClass:\"form-check-label\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"for\":\"Source\"}},[_c('h5',[_vm._v(\"Source\")])])]),_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input\",attrs:{\"id\":\"type\",\"type\":\"checkbox\",\"value\":\"\"}}),_c('label',{staticClass:\"form-check-label\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"for\":\"type\"}},[_c('h5',[_vm._v(\"Type system\")])])]),_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input\",attrs:{\"id\":\"Consistency\",\"type\":\"checkbox\",\"value\":\"\"}}),_c('label',{staticClass:\"form-check-label\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"for\":\"Consistency\"}},[_c('h5',[_vm._v(\"Consistency\")])])])])\n}]\n\nexport { render, staticRenderFns }","export const allPossibleIcons = [\n 'glyphicon-asterisk',\n 'glyphicon-plus',\n 'glyphicon-eur',\n 'glyphicon-euro',\n 'glyphicon-minus',\n 'glyphicon-cloud',\n 'glyphicon-envelope',\n 'glyphicon-pencil',\n 'glyphicon-glass',\n 'glyphicon-music',\n 'glyphicon-search',\n 'glyphicon-heart',\n 'glyphicon-star',\n 'glyphicon-star-empty',\n 'glyphicon-user',\n 'glyphicon-film',\n 'glyphicon-th-large',\n 'glyphicon-th',\n 'glyphicon-th-list',\n 'glyphicon-ok',\n 'glyphicon-remove',\n 'glyphicon-zoom-in',\n 'glyphicon-zoom-out',\n 'glyphicon-off',\n 'glyphicon-signal',\n 'glyphicon-cog',\n 'glyphicon-trash',\n 'glyphicon-home',\n 'glyphicon-file',\n 'glyphicon-time',\n 'glyphicon-road',\n 'glyphicon-download-alt',\n 'glyphicon-download',\n 'glyphicon-upload',\n 'glyphicon-inbox',\n 'glyphicon-play-circle',\n 'glyphicon-repeat',\n 'glyphicon-refresh',\n 'glyphicon-list-alt',\n 'glyphicon-lock',\n 'glyphicon-flag',\n 'glyphicon-headphones',\n 'glyphicon-volume-off',\n 'glyphicon-volume-down',\n 'glyphicon-volume-up',\n 'glyphicon-qrcode',\n 'glyphicon-barcode',\n 'glyphicon-tag',\n 'glyphicon-tags',\n 'glyphicon-book',\n 'glyphicon-bookmark',\n 'glyphicon-print',\n 'glyphicon-camera',\n 'glyphicon-font',\n 'glyphicon-bold',\n 'glyphicon-italic',\n 'glyphicon-text-height',\n 'glyphicon-text-width',\n 'glyphicon-align-left',\n 'glyphicon-align-center',\n 'glyphicon-align-right',\n 'glyphicon-align-justify',\n 'glyphicon-list',\n 'glyphicon-indent-left',\n 'glyphicon-indent-right',\n 'glyphicon-facetime-video',\n 'glyphicon-picture',\n 'glyphicon-map-marker',\n 'glyphicon-adjust',\n 'glyphicon-tint',\n 'glyphicon-edit',\n 'glyphicon-share',\n 'glyphicon-check',\n 'glyphicon-move',\n 'glyphicon-step-backward',\n 'glyphicon-fast-backward',\n 'glyphicon-backward',\n 'glyphicon-play',\n 'glyphicon-pause',\n 'glyphicon-stop',\n 'glyphicon-forward',\n 'glyphicon-fast-forward',\n 'glyphicon-step-forward',\n 'glyphicon-eject',\n 'glyphicon-chevron-left',\n 'glyphicon-chevron-right',\n 'glyphicon-plus-sign',\n 'glyphicon-minus-sign',\n 'glyphicon-remove-sign',\n 'glyphicon-ok-sign',\n 'glyphicon-question-sign',\n 'glyphicon-info-sign',\n 'glyphicon-screenshot',\n 'glyphicon-remove-circle',\n 'glyphicon-ok-circle',\n 'glyphicon-ban-circle',\n 'glyphicon-arrow-left',\n 'glyphicon-arrow-right',\n 'glyphicon-arrow-up',\n 'glyphicon-arrow-down',\n 'glyphicon-share-alt',\n 'glyphicon-resize-full',\n 'glyphicon-resize-small',\n 'glyphicon-exclamation-sign',\n 'glyphicon-gift',\n 'glyphicon-leaf',\n 'glyphicon-fire',\n 'glyphicon-eye-open',\n 'glyphicon-eye-close',\n 'glyphicon-warning-sign',\n 'glyphicon-plane',\n 'glyphicon-calendar',\n 'glyphicon-random',\n 'glyphicon-comment',\n 'glyphicon-magnet',\n 'glyphicon-chevron-up',\n 'glyphicon-chevron-down',\n 'glyphicon-retweet',\n 'glyphicon-shopping-cart',\n 'glyphicon-folder-close',\n 'glyphicon-folder-open',\n 'glyphicon-resize-vertical',\n 'glyphicon-resize-horizontal',\n 'glyphicon-hdd',\n 'glyphicon-bullhorn',\n 'glyphicon-bell',\n 'glyphicon-certificate',\n 'glyphicon-thumbs-up',\n 'glyphicon-thumbs-down',\n 'glyphicon-hand-right',\n 'glyphicon-hand-left',\n 'glyphicon-hand-up',\n 'glyphicon-hand-down',\n 'glyphicon-circle-arrow-right',\n 'glyphicon-circle-arrow-left',\n 'glyphicon-circle-arrow-up',\n 'glyphicon-circle-arrow-down',\n 'glyphicon-globe',\n 'glyphicon-wrench',\n 'glyphicon-tasks',\n 'glyphicon-filter',\n 'glyphicon-briefcase',\n 'glyphicon-fullscreen',\n 'glyphicon-dashboard',\n 'glyphicon-paperclip',\n 'glyphicon-heart-empty',\n 'glyphicon-link',\n 'glyphicon-phone',\n 'glyphicon-pushpin',\n 'glyphicon-usd',\n 'glyphicon-gbp',\n 'glyphicon-sort',\n 'glyphicon-sort-by-alphabet',\n 'glyphicon-sort-by-alphabet-alt',\n 'glyphicon-sort-by-order',\n 'glyphicon-sort-by-order-alt',\n 'glyphicon-sort-by-attributes',\n 'glyphicon-sort-by-attributes-alt',\n 'glyphicon-unchecked',\n 'glyphicon-expand',\n 'glyphicon-collapse-down',\n 'glyphicon-collapse-up',\n 'glyphicon-log-in',\n 'glyphicon-flash',\n 'glyphicon-log-out',\n 'glyphicon-new-window',\n 'glyphicon-record',\n 'glyphicon-save',\n 'glyphicon-open',\n 'glyphicon-saved',\n 'glyphicon-import',\n 'glyphicon-export',\n 'glyphicon-send',\n 'glyphicon-floppy-disk',\n 'glyphicon-floppy-saved',\n 'glyphicon-floppy-remove',\n 'glyphicon-floppy-save',\n 'glyphicon-floppy-open',\n 'glyphicon-credit-card',\n 'glyphicon-transfer',\n 'glyphicon-cutlery',\n 'glyphicon-header',\n 'glyphicon-compressed',\n 'glyphicon-earphone',\n 'glyphicon-phone-alt',\n 'glyphicon-tower',\n 'glyphicon-stats',\n 'glyphicon-sd-video',\n 'glyphicon-hd-video',\n 'glyphicon-subtitles',\n 'glyphicon-sound-stereo',\n 'glyphicon-sound-dolby',\n 'glyphicon-sound-5-1',\n 'glyphicon-sound-6-1',\n 'glyphicon-sound-7-1',\n 'glyphicon-copyright-mark',\n 'glyphicon-registration-mark',\n 'glyphicon-cloud-download',\n 'glyphicon-cloud-upload',\n 'glyphicon-tree-conifer',\n 'glyphicon-tree-deciduous',\n 'glyphicon-cd',\n 'glyphicon-save-file',\n 'glyphicon-open-file',\n 'glyphicon-level-up',\n 'glyphicon-copy',\n 'glyphicon-paste',\n 'glyphicon-door',\n '.glyphicon-key',\n '.glyphicon-alert',\n 'glyphicon-equalizer',\n 'glyphicon-king',\n 'glyphicon-queen',\n 'glyphicon-pawn',\n 'glyphicon-bishop',\n 'glyphicon-knight',\n 'glyphicon-baby-formula',\n 'glyphicon-tent',\n 'glyphicon-blackboard',\n 'glyphicon-bed',\n 'glyphicon-apple',\n 'glyphicon-erase',\n 'glyphicon-hourglass',\n 'glyphicon-lamp',\n 'glyphicon-duplicate',\n 'glyphicon-piggy-bank',\n 'glyphicon-scissors',\n 'glyphicon-bitcoin',\n 'glyphicon-btc',\n 'glyphicon-xbt',\n 'glyphicon-yen',\n 'glyphicon-jpy',\n 'glyphicon-ruble',\n 'glyphicon-rub',\n 'glyphicon-scale',\n 'glyphicon-ice-lolly',\n 'glyphicon-ice-lolly-tasted',\n 'glyphicon-education',\n 'glyphicon-option-horizontal',\n 'glyphicon-option-vertical',\n 'glyphicon-menu-hamburger',\n 'glyphicon-modal-window',\n 'glyphicon-oil',\n 'glyphicon-grain',\n 'glyphicon-sunglasses',\n 'glyphicon-text-size',\n 'glyphicon-text-color',\n 'glyphicon-text-background',\n 'glyphicon-object-align-top',\n 'glyphicon-object-align-bottom',\n 'glyphicon-object-align-horizontal',\n 'glyphicon-object-align-left',\n 'glyphicon-object-align-vertical',\n 'glyphicon-object-align-right',\n 'glyphicon-triangle-right',\n 'glyphicon-triangle-left',\n 'glyphicon-triangle-bottom',\n 'glyphicon-triangle-top',\n 'glyphicon-console',\n 'glyphicon-superscript',\n 'glyphicon-subscript',\n 'glyphicon-menu-left',\n 'glyphicon-menu-right',\n 'glyphicon-menu-down',\n 'glyphicon-menu-up'\n]\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexCodeConventions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexCodeConventions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TerraIndexCodeConventions.vue?vue&type=template&id=007d32b6\"\nimport script from \"./TerraIndexCodeConventions.vue?vue&type=script&lang=js\"\nexport * from \"./TerraIndexCodeConventions.vue?vue&type=script&lang=js\"\nimport style0 from \"./TerraIndexCodeConventions.vue?vue&type=style&index=0&id=007d32b6&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footerbutton.vue?vue&type=style&index=0&id=8e732fca&prod&scoped=true&lang=css\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAhElEQVQ4y+2TMQrAIAxFcwHX4nE6ey4P02M4incRSsHByX5phtTWzXZyeBBi8oyKVEqh0dCUTikCIgMCyKAmEtjAImoWziWuydxjHlIW1iAC12CF1L6sR+41rbTutgMlBBqsHbSoU9wbWukB/O0I1xSlg2tqfXX8Mun4O/3k9eePmtJxnPP3OoxXGEE5AAAAAElFTkSuQmCC\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=5e508d6d&prod&scoped=true&lang=css\"","'use strict'\nimport translations from '@/configurations/app/config-locales'\nimport $ from 'jquery'\n\nexport default {\n popup (text) {\n // @TODO: Restore this to original styling.\n // this is included as raw javascript\n // eslint-disable-next-line no-undef\n sweetAlert(translations.t('label.warn'), text, 'warning')\n },\n acceptPopup (title, text, acceptCallback, cancelCallback) {\n return new Promise((resolve, reject) => {\n // this is included as raw javascript\n // eslint-disable-next-line no-undef\n swal({\n title: title,\n text: text,\n type: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#DD6B55',\n confirmButtonText: translations.t('button.confirm'),\n cancelButtonText: translations.t('button.cancel'),\n closeOnConfirm: true\n }, (isConfirm) => {\n if (isConfirm) {\n resolve()\n } else {\n reject(new Error('Not confirmed'))\n }\n })\n })\n },\n alertAsync (message, timeout, cssClass) {\n return new Promise((resolve, reject) => {\n const cls = '.' + (cssClass || 'alert')\n const alertEl = document.querySelector(cls)\n if (alertEl) {\n $(cls).html(message || '?')\n $(cls).slideDown()\n setTimeout(() => {\n $(cls).slideUp()\n resolve(true)\n }, timeout || 3000)\n } else {\n reject(new Error(`No element found with class set to ${cls}`))\n }\n })\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexCodeConventions.vue?vue&type=style&index=0&id=007d32b6&prod&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('footer',[(!(typeof _vm.$route.meta.buttons === 'undefined' || typeof _vm.$route.meta.buttons.left === 'undefined'))?_c('div',{staticClass:\"inner-footer-left\"},[_vm._l((_vm.visibleLeftButtons),function(button){return _c('footerbutton',{key:button.name,attrs:{\"id\":button.name + '-button',\"name\":_vm.$t('label.' + button.name),\"class-name\":button.class,\"title\":_vm.buttonTooltip('tooltips.' + button.name),\"container-class\":_vm.shouldDisableButton(button) ? 'disabled' : ''},nativeOn:{\"click\":function($event){_vm.shouldDisableButton(button) ? null : _vm.buttonClick(button, button.handler)}}})}),(_vm.shouldShowReportButton)?_c('footerbutton',{attrs:{\"id\":\"report-button\",\"name\":_vm.$t('label.report'),\"class-name\":\"glyphicons glyphicons-book\",\"title\":_vm.buttonTooltip('tooltips.report')},nativeOn:{\"click\":function($event){return _vm.navigateToReports()}}}):_vm._e()],2):_vm._e(),(!(typeof _vm.$route.meta.buttons === 'undefined' || typeof _vm.$route.meta.buttons.right === 'undefined'))?_c('div',{staticClass:\"inner-footer-right\"},_vm._l((_vm.visibleRightButtons),function(button){return _c('footerbutton',{key:button.name,attrs:{\"id\":button.name + '-button',\"name\":_vm.$t('label.' + button.name),\"container-class\":_vm.shouldDisableButton(button) ? 'disabled' : 'button',\"class-name\":button.class,\"title\":_vm.buttonTooltip('tooltips.' + button.name)},nativeOn:{\"click\":function($event){return _vm.clickHandler(button)}}})}),1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('figure',{class:_vm.containerClass || 'button',attrs:{\"id\":_vm.id}},[_c('div',{staticClass:\"footer-button\"},[_c('span',{class:_vm.className})]),_c('figcaption',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footerbutton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footerbutton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./footerbutton.vue?vue&type=template&id=8e732fca&scoped=true\"\nimport script from \"./footerbutton.vue?vue&type=script&lang=js\"\nexport * from \"./footerbutton.vue?vue&type=script&lang=js\"\nimport style0 from \"./footerbutton.vue?vue&type=style&index=0&id=8e732fca&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8e732fca\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./footer.vue?vue&type=template&id=5e508d6d&scoped=true\"\nimport script from \"./footer.vue?vue&type=script&lang=js\"\nexport * from \"./footer.vue?vue&type=script&lang=js\"\nimport style0 from \"./footer.vue?vue&type=style&index=0&id=5e508d6d&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e508d6d\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}