{"componentChunkName":"component---src-templates-tag-page-tsx","path":"/tag/programming-principles/","result":{"data":{"allContentfulCategory":{"edges":[{"node":{"contentful_id":"2gOurgpDj1BasZvVToN13z","slug":"tiny-sparks","title":"The Tiny Way","description":{"description":"Understand the Tiny Way - our heritage, values-driven approach and thinking through stories from and about Tiny people and culture, technology and the world at large."}}},{"node":{"contentful_id":"2a3w396SgR2Fl1ep4eYu0w","slug":"product-management","title":"Product-Led Growth","description":{"description":"Everything from product roadmaps and market fit, through customer acquisition and onboarding to retention and product-led growth, can be found here to help you grow your brand, company and product."}}},{"node":{"contentful_id":"T7VZcLaLRpt6XlNLJPLmL","slug":"wysiwyg-world","title":"World of WYSIWYG","description":{"description":"Learn about the WYSIWYG world of rich text editors - the power behind the democratization of content creation, web applications and SaaS projects."}}},{"node":{"contentful_id":"6HNYGjOUjHzUS2gXBnMVXn","slug":"design-and-ux","title":"Content Marketing & Design","description":{"description":"Be at the forefront of content design trends, get inspiration for your projects and learn new ways to use content marketing strategies and content-led approaches that deliver brilliant user experiences."}}},{"node":{"contentful_id":"6XFMYLCe4AEYIDazkjGFvb","slug":"engineering","title":"Developer Insights","description":{"description":"The perfect source for all web application and software developers, as well as engineering teams who want to stay up to date with the latest development tools, developer insights, leading edge thinking and experiments."}}},{"node":{"contentful_id":"24ufWIsR0ImSvxvvIrutB5","slug":"open-source","title":"Open Source","description":{"description":"Having a vibrant open source community is a vital part of TinyMCE, so you'll find important open source contribution news here – both from our own community, and from other open source projects in global communities."}}},{"node":{"contentful_id":"2fLgNI8yOMeZHNl1nSQ11","slug":"how-tos-and-tutorials","title":"How-to Use TinyMCE","description":{"description":"Learn how-to use TinyMCE rich text editor, all in one place – here's our set-up tips, tricks, FAQs, updates and new releases, customisations, ideas on things to build and easy migration from other text editing platforms."}}}]},"allContentfulBlogPost":{"edges":[{"node":{"title":"Rich Text Editor Customizability: The Five Dimensions","slug":"rich-text-editor-customizability-five-dimensions","featured":true,"lastUpdated":"Mar 10th, 2026","description":{"description":"<p>Learn the five dimensions to measure WYSIWYG editor customizability: UI integration, plugin architecture, API, framework fit, and configuration.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Learn the five dimensions to measure WYSIWYG editor customizability: UI integration, plugin architecture, API, framework fit, and configuration."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Rich Text Editor Customizability: The Five Dimensions","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAABs1BMVEUIElMKE1QACE8AB08ABk4ABU4AB1AACFEHE1UHEVMDDFEABk8ABU8DC1AKElIJEVEIFFQIG1kIHVoHGloFE1UAAU4AAEwAAEoAAEsHD1EKFFQADlQAFlotKllXN0wkIlk7PGFPUGxERWZFR2dISWhSU25BQmQDC08AAk4LE1IOGVcAE1kAAFYACFwiKF5IKlQeIFoADFMAAEdcXXWBgpJrbIB5eox3eIqHiJZ2d4kTGlMAAE0HEFELFVQAE1ozOGGOj5xvcIMAFlwAHF4LGVgACFAAAEhQUm97fpB+gZJ7f5B9gZKHi5p+gpMnNF4AD1EEE1UAAFt0donX19u1tbwAD1sAFFkMFFMAB05LOE55WlJ1U1JzTVJ8T1N7S1R5SVl2OFBsLE8oGVUAHF0AIGM2PWSIiZdiY3oADFkBFVcPFlMAAE8jGU1ONUlHLEpOLUlPKUpUKUpUJktYJk5TIlEbG1k1LVY9MVcAIWIAAFoAA1kPH1wLFFQIEVEAAU8AA1AAF1pQNFFNL1EAHl4AE1cDEVUOF1UIEVMEDVEAEVQGGVkEGVkJF1cLElIIEFEFDlIJElNtoDSHAAAAfElEQVQIHQXBQSqFUQCA0e/kJu/1z/wjyRpMX4ZWxBClFEbK1IZkI2aYKtR1jqiqisDY+N3P7LvaAsZCle3X3CzA39g7ABy+HwOMIwArgLECvO0AODsBAPAyTgEAyHL5WVUr4Cbj2n3VNB9xd6unC88fD1VV573+zDmv1n/fxRlQsGkcvgAAAABJRU5ErkJggg==","aspectRatio":1.7824074074074074,"src":"//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=739&h=415&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1109&h=622&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1478&h=829&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1925&h=1080&q=50&fit=scale 1925w","srcWebp":"//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=739&h=415&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1109&h=622&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1478&h=829&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/4lvoOKOTIVhLYb73gCpILI/f02162c87ac1f50ff63ca658739335f4/-TinyMCE--Blog_Header-_Rich_Text_Editor_Customizability__The_Five_Dimensions.png?w=1925&h=1080&q=50&fm=webp&fit=scale 1925w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Coco Poley","slug":"coco-poley"},"category":{"title":"World of WYSIWYG","slug":"wysiwyg-world"},"metaTitle":{"metaTitle":"Rich Text Editor Customizability: The Five Dimensions | TinyMCE"},"metaDescription":{"metaDescription":"Learn the five dimensions to measure WYSIWYG editor customizability: UI integration, plugin architecture, API, framework fit, and configuration."}}},{"node":{"title":"Modular programming: beyond the spaghetti mess","slug":"modular-programming-principle","featured":true,"lastUpdated":"Jun 28th, 2023","description":{"description":"<p>Considering a modular programming approach? We unpack this programming principle with everything software developers need to know.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Considering a modular programming approach? We unpack this programming principle with everything software developers need to know."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"A bowl of spaghetti contrasted with modular code blocks","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAABHVBMVEUW1eoV1eoU1eoW1eoV1esR1esI1esP1esU1esS1esN1esA1esV1eoO1eoA1Ooc1eoA1eoP1eoJ1esA1exR2O0z1usF1etI1ObB5u2G1eQW0ucI1epu1eaY2uOo08di094Q1esM1esA0+mI1+H29fLh4ehD0eVS1+pU0t2fzsmvz7SOzbpxz9RA0ucB1esO0+Xb7+z/+vnH4eur4+rI6vEA1OiP0Na9x6K+xpqQzc4A1uwQ1eoE1esf1eXE6emk4OwA0OWy5ObA5u0C1OZtrdyjl9uilNhosd4A1usS1utdzN4AzuQAyt9WzNtGydtbyM1AwtVLquFMreILzOUP1usU1usU1eoO1esb1OkC1esE1usA1+oO1usT1esV1utx4B6YAAAAA3RSTlP+/v6VFoksAAAAg0lEQVQIHWXBoQ6CUABA0Xt5wCTADNr8A4PfQfYvDXa/wWQyGpyBos5ZHMoTkmyeIwMhgkKMgAFw8CbTNmkBAxTqO9PXRH20YIA8K9Rnae+yOIOBYu7ItYmkQOlI1UAKVI5FSIH9bOUPYIC17qY3asXXFggJHE/Lw72ru+6Tu6Fn4N8XDY0gAXlft78AAAAASUVORK5CYII=","aspectRatio":1.780758556891767,"src":"//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=739&h=415&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1109&h=623&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1478&h=830&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1925&h=1081&q=50&fit=scale 1925w","srcWebp":"//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=739&h=415&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1109&h=623&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1478&h=830&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/2ZBzMsB6nN3dZynFMfQSiJ/1e98de5f4623c4866183c9c126f7f404/Modular_programming__beyond_the_spaghetti_mess.png?w=1925&h=1081&q=50&fm=webp&fit=scale 1925w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Millie Macdonald","slug":"millie-macdonald"},"category":{"title":"Developer Insights","slug":"engineering"},"metaTitle":{"metaTitle":"Modular programming: Definitions, benefits, and predictions"},"metaDescription":{"metaDescription":"Considering a modular programming approach? We unpack this programming principle with everything software developers need to know."}}},{"node":{"title":"Learn JavaScript in 2021: Hassib Moddasser’s recommendation ","slug":"learn-javascript-guide-2021","featured":false,"lastUpdated":"Sep 21st, 2021","description":{"description":"<p>To learn JavaScript in 2021, we have a resource to share - a twitter thread from Hassib Moddasser. Their recommendations can help users to start to learn JavaScript with the best resources in 2021.&nbsp;</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"To learn JavaScript in 2021, we have a resource to share - a twitter thread from Hassib Moddasser. Their recommendations can help users to start to learn JavaScript with the best resources in 2021. "}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"The twitter handle of @hassibmoddasser who's tweets are showcased in this blog to learn JavaScript","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1.4169570267131242,"src":"//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=185&h=131&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=370&h=261&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=739&h=522&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=1109&h=783&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=1220&h=861&q=50&fit=scale 1220w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=185&h=131&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=370&h=261&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=739&h=522&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=1109&h=783&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5YYKT2puI3GQH5cMJcj2j0/c0cbe2799bdd2ff7c8a3141892d2fc10/twitter-showcase-blog2.png?w=1220&h=861&q=50&fm=webp&fit=scale 1220w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Joe Robinson","slug":"joseph-robinson"},"category":{"title":"Developer Insights","slug":"engineering"},"metaTitle":null,"metaDescription":null}},{"node":{"title":"Tiny Programming Principles: Immutability","slug":"mutable-vs-immutable-javascript","featured":false,"lastUpdated":"Jan 26th, 2021","description":{"description":"<p>We share key benefits of immutability, and why JavaScript developers (in particular) should choose immutable objects over mutating functions.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"We share key benefits of immutability, and why JavaScript developers (in particular) should choose immutable objects over mutating functions."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Five eggs are stacked precariously on top of each other.","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":0.6669390614055568,"src":"//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=185&h=277&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=370&h=555&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=739&h=1108&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=1109&h=1663&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=1478&h=2216&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=2217&h=3324&q=50&fit=scale 2217w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=185&h=277&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=370&h=555&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=739&h=1108&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=1109&h=1663&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=1478&h=2216&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5b81UPp1646TlwGYqCwI2U/8a0d08a26791a54e23998303dfa9a0f2/jiangxulei1990-eIzzzwtkBjU-unsplash.jpg?w=2217&h=3324&q=50&fm=webp&fit=scale 2217w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Millie Macdonald","slug":"millie-macdonald"},"category":{"title":"Developer Insights","slug":"engineering"},"metaTitle":{"metaTitle":"Immutable vs mutable: Definitions, benefits & practical tips"},"metaDescription":{"metaDescription":"We share key benefits of immutability, and why JavaScript developers (in particular) should choose immutable objects over mutating functions."}}}]}},"pageContext":{"limit":12,"skip":0,"numPages":1,"currentPage":1,"slug":"programming-principles","title":"Programming Principles","page":"tag","banner":{"description":"Deploy TinyMCE in just 6 lines of code","buttonLabel":"Get your Cloud API Key","externalLink":"https://www.tiny.cloud/get-tiny/","section":["category","author","posts","home","tag"]},"bannerForTag":{"bannerDescription":"Want to develop faster, innovate faster and succeed faster?","bannerButtonLabel":"Take a product tour","bannerExternalLink":"https://www.tiny.cloud/html-text-editor-for-developers/","bannerIsEnabled":true}}},"staticQueryHashes":["2492987505","740350947"]}