{"id":88054,"date":"2024-12-25T14:23:16","date_gmt":"2024-12-25T14:23:16","guid":{"rendered":"https:\/\/staging.devsdata.com\/?p=88054"},"modified":"2024-09-17T07:42:30","modified_gmt":"2024-09-17T07:42:30","slug":"hire-javascript-developer","status":"publish","type":"post","link":"https:\/\/staging.devsdata.com\/de\/hire-javascript-developer\/","title":{"rendered":"JavaScript-Entwickler einstellen"},"content":{"rendered":"<section>\n<h1>Einstellen eines JavaScript-Entwicklers<\/h1>\n<p class=\"subtitle-fake-h3\">Einfache Interviewfragen, mit denen die meisten Kandidaten zu k\u00e4mpfen haben.<\/p>\n<p>\n    <style>`\n        .post-info {\n            display: flex;\n            flex-direction: row;\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: 500;\n            font-size: 16px;\n            line-height: 150%;\n            letter-spacing: 0.02em;\n            color: #6D7082;\n            \/*padding-top:32px;*\/\n        }\n\n        .info-container .post-info {\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n        }\n\n        .post-info-main {\n            width: 100%;\n            display: flex;\n            flex-wrap: wrap;\n            row-gap: 5px;\n            column-gap: 20px;\n            grid-template-rows: repeat(3, auto);\n            grid-template-columns: 60px max-content auto;\n            margin-bottom:12px;\n        }\n\n        .with-reviewer {\n            flex-wrap: wrap;\n            row-gap: 5px;\n        }\n\n        .author-name {\n            margin-bottom:4px;\n            grid-row-start: 2;\n            text-decoration: underline;\n            color:black !important;\n        }\n\n        .rank-math-breadcrumb {\n            margin-top:20px;\n            position: relative;\n            z-index: 1;\n        }\n\n        .rank-math-breadcrumb p {\n            margin: 0;\n            white-space: nowrap; \n            overflow: hidden;\n            text-overflow: ellipsis;\n            gap: 8px;\n            display: flex;\n        }\n\n        .rank-math-breadcrumb a {\n            color: #6d7082;\n        }\n\n        .rank-math-breadcrumb a:hover {\n            text-decoration: underline;\n            color: #0332c9;\n        }\n\n        .author-avatar {\n            display: flex;\n            justify-content: center;\n            margin-right: 15px;\n            width: fit-content;\n            grid-row-start: span 2;\n            grid-row-end: 4;\n        }\n\n        .author-avatar picture {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n        }\n\n        .author-avatar.clicked {\n            transform: scale(1.1);\n        }\n\n        .post-info .author-avatar img {\n            min-width:44px;\n            height: 44px;\n            width: auto;\n            object-fit: cover;\n            aspect-ratio: 1\/1;\n            filter: grayscale(1);\n            border-radius: 100%;\n            position: relative;\n            top: 2px;\n        }\n\n        .post-info .author_socials {\n            display: flex;\n            flex-direction: row;\n            align-items: center;\n            grid-row-start: 3;\n            grid-column: span 2;\n            gap: 15px;\n            list-style-type: none;\n            padding: 0;\n            margin: 0;\n        }\n\n        .post-info .author_socials li a {\n            display: flex;\n            align-item: center;\n            text-decoration: none;\n        }\n\n        .author_socials a svg {\n            width: 16px;\n            height: 16px;\n            transition: 0.3s;\n            color: #000;\n        }\n      \n        .author_socials li:hover svg {\n            color: #0332c9;\n        }\n\n        .right-info a {\n            width: fit-content;\n            color: unset;\n        }\n\n        .right-info a:hover {\n            text-decoration: underline;\n        }\n\n        .post-info .clock {\n            position: relative;\n            padding-right: 5px;\n            top: 2px;\n        }\n\n        .post-info .arrow {\n            position: relative;\n            margin-left: 10px;\n            margin-right: 10px;\n            transition: .2s;\n            height: 6px;\n            bottom: 1px;\n        }\n        .post-info .post-info-separator {\n            padding-right: 3px;\n            padding-left: 3px;\n        }\n\n        .reviewer-info {\n            display: flex;\n            flex-direction:column;\n            justify-content: center;\n            align-items: flex-start;\n            grid-row-start: 2;\n            align-self: start;\n            justify-self: end;\n            font-family: \"Montserrat\", arial;\n            color: #000;\n        }\n\n        .reviewer-info.the_first_row {\n            justify-self: start;\n            grid-row-start: 1;\n            grid-column: span 3;\n        }\n\n        .meta-checkmark {\n            width: 20px;\n            height: auto;\n        }\n\n        .reviewer-info a {\n            margin-left: 0;\n            color: #000;\n            text-decoration: underline;\n        }\n        .reviewer-info a:hover {\n            color: #0332c9;\n        }\n        .reviewer-info a:visited {\n            color: #551a8b;\n        }\n        .reviewer-info a:active {\n            color: #0332c9;\n        }\n        .language-dropdown-container {\n            display: inline-block;\n            width: 200px;\n        }\n\n        .language_switcher {\n            display: inline-flex;\n            align-items: center;\n            flex-direction: row;\n            gap: 5px;\n            vertical-align: middle;\n        }\n        \n        .language_switcher .wpml-ls-legacy-dropdown {\n            width: auto;\n            position: relative;\n            vertical-align: middle;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown ul {\n            list-style: none;\n            padding: 0;\n            margin: 0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language {\n            position: relative;\n            margin-bottom:0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language > a {\n            padding-left:16px !important;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            width: 100%;\n            box-sizing: border-box;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {\n            display: none;\n            position: absolute;\n            z-index: 10;\n            top: 100%;\n            left: 0;\n            width: 100%;\n            margin: 0;\n            background-color: rgb(238, 238, 238);\n            border-radius: 0 0 8px 8px;\n            overflow: hidden;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {\n            display: block;\n            width: 100%;\n            margin-bottom:0;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li:hover {\n            background-color:rgba(204, 204, 211) !important\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {\n            display: block;\n            width: 100%;\n            padding: 8px 15px 8px 16px;\n            margin-left: 0;\n            box-sizing: border-box;\n            white-space: nowrap;\n            text-align: left;\n        }\n\n        @media (hover: hover) {\n            .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > .wpml-ls-sub-menu {\n                display: block;\n            }\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > .wpml-ls-sub-menu {\n            display: block;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > a.wpml-ls-item-toggle:after {\n            transform: scale(.7) rotate(180deg);\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown .wpml-ls-current-language.wpml-dropdown-open > .wpml-ls-item-toggle {\n            border-radius: 8px 8px 0 0;\n            background-color: rgba(204, 204, 211);\n        }\n\n        .wpml-ls-legacy-dropdown a:focus {\n            background-color: #FFFFFF;\n        }\n\n        .language_switcher .wpml-ls-legacy-dropdown a:visited {\n            color: #000000 !important;\n        }\n\n        .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {\n            content: \"\";\n            display: inline-block;\n            transform: scale(.7);\n            height: 20px;\n            width: 20px;\n            background: url(\"\/wp-content\/uploads\/2020\/07\/Vector.png\");\n            margin-left: 5px;\n            background-repeat: no-repeat;\n            background-position: center center;\n            background-size: 10px;\n            border: none;\n            position: unset;\n            background-color: #eee;\n            border-radius: 50%;\n            padding: 10px;\n            transition: transform 0.2s ease-in-out;\n            vertical-align: middle;\n            flex-shrink: 0;\n        }\n\n        .language_switcher a {\n            border: none;\n            padding: 10px 15px;\n        }\n\n        .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {\n            padding: 0 5px 0 2px !important;\n        }\n\n        @media (hover: hover) {\n            .wpml-ls-sub-menu a.wpml-ls-link:hover,\n            .language_switcher .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:hover {\n                background-color: rgba(204, 204, 211);\n                color: #000000 !important;\n                text-decoration: none;\n            }\n        }\n\n        .wpml-ls-sub-menu {\n            border: none !important;\n            background-color: transparent;\n        }\n\n        .wpml-ls-sub-menu a {\n            background-color: #FFFFFF;\n        }\n\n        .wpml-ls-current-language .wpml-ls-item-toggle {\n            border-radius: 8px;\n        }\n\n        @media (hover: hover) {\n            .wpml-ls-current-language:hover .wpml-ls-sub-menu a {\n                background-color: rgb(238, 238, 238) !important;\n            }\n\n            .wpml-ls-current-language .wpml-ls-sub-menu a:hover,\n            a.wpml-ls-item-toggle:hover:after {\n                background-color: rgba(204, 204, 211) !important;\n            }\n\n            .wpml-ls-current-language:hover a.wpml-ls-item-toggle:after {\n                transform: scale(.7) rotate(180deg);\n            }\n\n            .wpml-ls-current-language:hover .language_switcher .wpml-ls-legacy-dropdown a {\n                background-color: rgba(109, 112, 130, 0.1);\n            }\n\n            .wpml-ls-current-language:hover .wpml-ls-item-toggle{\n                border-radius: 8px 8px 0 0;\n            }\n\n            .wpml-ls-current-language:hover .wpml-ls-item:last-child .wpml-ls-link{\n                border-radius: 0 0 8px 8px;\n            }\n        }\n\n        .wpml-ls-current-language.wpml-dropdown-open .wpml-ls-sub-menu a {\n            background-color: rgb(238, 238, 238) !important;\n        }\n\n        .wpml-ls-current-language.wpml-dropdown-open .wpml-ls-item:last-child .wpml-ls-link{\n            border-radius: 0 0 8px 8px;\n        }\n\n        ul.language-list {\n            \/*min-height: 71px;*\/\n            margin: 0;\n            overflow: hidden;\n            position: absolute;\n            display: inline-block;\n            list-style: none;\n            vertical-align: top;\n            background-color: #FFFFFF;\n            padding: 0;\n            z-index: 2;\n        }\n\n        ul.language-list.mobile {\n            border-radius: 10px;\n            border: 1px solid rgba(109, 112, 130, 0.1);\n            margin-left: 10px;\n        }\n\n        .language-list.mobile li:hover {\n            background-color: rgba(109, 112, 130, 0.1)\n        }\n\n        .language-list.mobile li:hover a {\n            color: #000000;\n        }\n\n        .dropdown-arrow {\n            display: inline-block;\n            border-radius: 50%;\n            height: 30px;\n            width: 30px;\n        }\n\n        .dropdown-arrow {\n            background-color: rgba(109, 112, 130, 0.1);\n        }\n\n        .dropdown-arrow:hover {\n            background-color: rgba(109, 112, 130, 0.3);\n        }\n\n        .dropdown-arrow.mobile,\n        .dropdown-arrow.mobile:hover {\n            background-color: unset;\n        }\n\n        .language-list li {\n            padding-left: 10px;\n            cursor: pointer;\n            display: none;\n        }\n\n        .language-list li a {\n            color: #6D7082;\n            text-decoration: none;\n        }\n\n        .language-list li:first-child {\n            display: block;\n        }\n\n        .active li {\n            display: block;\n        }\n\n        .rotated {\n            transform: rotate(180deg);\n            bottom: 2px !important;\n        }\n        .bookmark {\n            align-self: center;\n            cursor:pointer;\n            display:none;\n        }\n        \n        .article h1 + p,\n        .article h1 + p + p {\n            margin: 0;\n            margin-bottom: 0 !important;\n        }\n\n        .info-container{\n            \/*min-height:150px;*\/\n            direction: ltr;\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n            padding-top: 20px;\n        }\n        .tags{\n            font-family: \"Montserrat\", sans-serif;\n            display: flex;\n            flex-direction: row;\n            justify-content: flex-start;\n            flex-wrap: wrap;\n            width: 100%;\n            overflow: hidden;\n            font-size: 14px;\n            border-radius: unset;\n            margin-bottom:20px;\n        }\n        .tags a {\n            font-style: normal;\n            line-height: 1.75em;\n            border: 0.5px solid #e2e5e9;\n            margin-right: 7px;\n            margin-top: 7px;\n            transition: 0.2s;\n            transition-property: background;\n            border-radius: 5px;\n            padding: 0.2em 0.8em;\n            color: black;\n        }\n        .tags a:hover {\n            background-color: #c1c7d0;\n        }\n\n        .tags a:visited {\n            color: #000;\n        }\n        .tags a:active {\n            color: #000;\n        }\n        .default-a:focus {\n            background-color: unset;\n        }\n\n        .default-a:hover{\n            text-decoration: underline;\n        }\n        .separator {\n        color:black !important;\n        font-weight:600;\n        }\n        .last {\n        color:black !important;\n        font-weight:600;\n        }\n        @media screen and (max-width:1034px) {\n        .author_links {\n        margin-right:auto;\n        }\n        .reviewer-info {\n        width: 100%;\n        }\n        }\n        @media screen and (max-width:767px) {\n        .language_switcher {\n        display: flex;\n        margin-top: 5px;\n        }\n        }\n        @media screen and (max-width:490px) {\n        .review-lowres {\n        display:flex !important;\n        }\n        .review-highres {\n        display:none !important;\n        }\n        .author_links {\n        margin-right:36px !important;\n        } \n        }\n    <\/style>\n    <div><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div>\n    \n    <div class=\"info-container\">\n    <div class=\"post-info with-reviewer\">\n        <div class=\"post-info-main\">\n            <div class=\"author-avatar\">\n                <picture>\n                        <source\n                            srcset=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.webp\" type=\"image\/webp\"> \n                        <source \n                            srcset=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.jpg\" type=\"image\/jpeg\">\n                        <img decoding=\"async\" \n                            class=\"avatar lazyload\"\n                            width=\"64\" \n                            height=\"64\"\n                            src=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.jpg\"\n                            alt=\"avatar\"\n                            loading=\"lazy\"\n                            title=\"Tom Potanski\"\n                        >\n                <\/picture>\n            <\/div>\n            <div style=\"display:flex; flex-direction:column;margin-right:auto;\" class=\"author_links\">\n            <a href=\"\/author\/tom-potanski\/\" class=\"author-name\">Tom Potanski<\/a>\n            <ul class=\"author_socials\">\n            <li>\n                <a href=\"https:\/\/www.linkedin.com\/in\/tompotanski\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" aria-label=\"Tom Potanski on Linkedin\">\n                    <svg version=\"1.0\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" aria-hidden=\"true\">\n                            <g id=\"linkedin5_layer\">\n                                <path d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\" data-hs-event-238572417=\"1\"><\/path>\n                            <\/g>\n                        <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"https:\/\/twitter.com\/tompotanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" aria-label=\"Tom Potanski on Twitter\">\n                    <svg viewBox=\"0 0 512 512\" class=\"scriptlesssocialsharing__icon twitter\" fill=\"currentColor\" height=\"1em\" width=\"1em\" aria-hidden=\"true\" focusable=\"false\" role=\"img\">\n                            <path d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"><\/path>\n                        <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"https:\/\/www.crunchbase.com\/person\/tom-potanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" aria-label=\"Tom Potanski on Crunchbase\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\">\n                            <title>Crunchbase icon<\/title>\n                            <path d=\"M21.6 0H2.4A2.41 2.41 0 0 0 0 2.4v19.2A2.41 2.41 0 0 0 2.4 24h19.2a2.41 2.41 0 0 0 2.4-2.4V2.4A2.41 2.41 0 0 0 21.6 0zM7.045 14.465A2.11 2.11 0 0 0 9.84 13.42h1.66a3.69 3.69 0 1 1 0-1.75H9.84a2.11 2.11 0 1 0-2.795 2.795zm11.345.845a3.55 3.55 0 0 1-1.06.63 3.68 3.68 0 0 1-3.39-.38v.38h-1.51V5.37h1.5v4.11a3.74 3.74 0 0 1 1.8-.63H16a3.67 3.67 0 0 1 2.39 6.46zm-.223-2.766a2.104 2.104 0 1 1-4.207 0 2.104 2.104 0 0 1 4.207 0z\"\/>\n                        <\/svg>\n                <\/a>\n            <\/li><\/ul>\n            <\/div>\n            <div class=\"reviewer-info\"> \n                                                                            <span style=\"color:#6D7082;\" class=\"\">\n                Last updated on \n                25. Dezember 2024 \n                <span class=\"post-info-separator\">| <\/span> \n                17 min read\n                <span>\n                |\n                <span class=\"language_switcher\">\n                    Language:  \n                    \n<div\n\t role=\"navigation\" aria-label=\"Sprachwechsler\" class=\"wpml-ls-statics-shortcode_actions wpml-ls wpml-ls-legacy-dropdown js-wpml-ls-legacy-dropdown\">\n\t<ul>\n\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-de wpml-ls-current-language wpml-ls-item-legacy-dropdown\">\n\t\t\t<a href=\"#\" hreflang=\"\" lang=\"\" class=\"js-wpml-ls-item-toggle wpml-ls-item-toggle\" aria-current=\"page\" aria-expanded=\"false\" aria-controls=\"wpml-ls-submenu-default\" aria-label=\"Sprachumschalter, dr\u00fccken Sie Tab, um zu anderen Sprachen zu navigieren\" title=\"Wechseln zu Deutsch\">\n\t\t\t\t<span class=\"wpml-ls-native\">Deutsch<\/span><\/a>\n\n\t\t\t<ul id=\"wpml-ls-submenu-default\" class=\"wpml-ls-sub-menu\">\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-en wpml-ls-first-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.devsdata.com\/\" hreflang=\"en\" lang=\"en\" class=\"wpml-ls-link\" aria-label=\"Wechseln zu Englisch\" title=\"Wechseln zu Englisch\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Englisch<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-pl\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.devsdata.com\/pl\/\" hreflang=\"pl\" lang=\"pl\" class=\"wpml-ls-link\" aria-label=\"Wechseln zu Polnisch\" title=\"Wechseln zu Polnisch\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Polnisch<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-he\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.devsdata.com\/he\/\" hreflang=\"he\" lang=\"he\" class=\"wpml-ls-link\" aria-label=\"Wechseln zu Hebr\u00e4isch\" title=\"Wechseln zu Hebr\u00e4isch\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Hebr\u00e4isch<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\n\t\t\t\t\t<li class=\"wpml-ls-slot-shortcode_actions wpml-ls-item wpml-ls-item-sv wpml-ls-last-item\">\n\t\t\t\t\t\t<a href=\"https:\/\/staging.devsdata.com\/sv\/\" hreflang=\"sv\" lang=\"sv\" class=\"wpml-ls-link\" aria-label=\"Wechseln zu Schwedisch\" title=\"Wechseln zu Schwedisch\">\n\t\t\t\t\t\t\t<span class=\"wpml-ls-display\">Schwedisch<\/span><\/a>\n\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t<\/ul>\n\n\t\t<\/li>\n\n\t<\/ul>\n<\/div>\n\n                <\/span>\n            <\/span>\n            <\/span>\n                            <\/div>\n        \n        <\/div>\n    <\/div>\n    <div class=\"bookmark\">\n        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2020\/08\/bookmark-add-2-1.svg\" alt=\"bookmark\" title=\"\">\n    <\/div>\n    <div class=\"tags\"><\/div>\n    <\/div>\n    <script type=\"module\" defer>\n      document.addEventListener(\"DOMContentLoaded\", function () {\n    \/\/ Get the current path from the URL\n    const path = window.location.pathname;\n\n    \/\/ Check if it starts with \/case-studies\n        if (path.startsWith(\"\/case-studies\")) {\n        const tagsElement = document.querySelector(\".tags\");\n        if (tagsElement) {\n        tagsElement.style.marginBottom = \"0\";\n        }\n        }\n        });\n        Array.from(document.getElementsByClassName(\"separator\")).forEach(el => {\n            el.textContent = \" > \";\n        });\n\n            var wpmlToggle = document.querySelector(\".language_switcher .wpml-ls-item-toggle\");\n            if (wpmlToggle) {\n                wpmlToggle.addEventListener(\"click\", function(e) {\n                    e.preventDefault();\n                    e.stopPropagation();\n                    var currentLang = this.closest(\".wpml-ls-current-language\");\n                    if (currentLang) {\n                        currentLang.classList.toggle(\"wpml-dropdown-open\");\n                    }\n                });\n                document.addEventListener(\"click\", function(e) {\n                    var openDropdown = document.querySelector(\".wpml-ls-current-language.wpml-dropdown-open\");\n                    if (openDropdown && !openDropdown.contains(e.target)) {\n                        openDropdown.classList.remove(\"wpml-dropdown-open\");\n                    }\n                });\n            }\n\n            var languageList = document.querySelector(\"#language-list\");\n            var dropdownArrow = document.querySelector(\".dropdown-arrow\");\n\n            if(languageList){\n                languageList.addEventListener(\"click\", () => {\n                    languageList.classList.toggle(\"active\");\n                    document.querySelector(\"#arrow\").classList.toggle(\"rotated\");\n                })\n            }\n                \n            function handleViewportChange() {\n                if(languageList) {\n                    if (window.innerWidth < 1280) {\n                        if(!languageList.classList.contains(\"mobile\")) {\n                            languageList.classList.add(\"mobile\");\n                            dropdownArrow.classList.add(\"mobile\");\n                        }\n                    } else {\n                        if(languageList.classList.contains(\"mobile\")) {\n                            languageList.classList.remove(\"mobile\");\n                            dropdownArrow.classList.remove(\"mobile\");\n                        }\n                    }\n                };\n            };\n\n            \/\/ If there is a small\/no space between reviewer and author name, reviewer moves to the first row\n            function update_post_info_layout() {\n                const author_name_element = document.querySelector(\".author-name\");\n                const reviewer_element = document.querySelector(\".reviewer-info\");\n                const post_info_container = document.querySelector(\".post-info\");\n\n                if(reviewer_element) {\n                    let distance_next_to_author, reviewer_fits_next_to_author; \n                    if(post_info_container && author_name_element) {\n                        distance_next_to_author = post_info_container.getBoundingClientRect().right - author_name_element.getBoundingClientRect().right;\n                        reviewer_fits_next_to_author = distance_next_to_author - reviewer_element.clientWidth >= 15;\n                    }\n\n                    if(!reviewer_fits_next_to_author) {\n                        reviewer_element.classList.add(\"the_first_row\");\n                    } else if (reviewer_fits_next_to_author && reviewer_element.classList.contains(\"the_first_row\")) {\n                        reviewer_element.classList.remove(\"the_first_row\");\n                    }\n                }\n            }\n\n            handleViewportChange();\n            update_post_info_layout();\n             \n            window.addEventListener(\"resize\", () => {\n                handleViewportChange();\n                update_post_info_layout();\n            });\n    <\/script><br \/>\n<span class=\"img-container\"><picture><source srcset=\"\/wp-content\/uploads\/2020\/07\/Hire_Javascript_Developer-header.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2020\/07\/Hire_Javascript_Developer-header.jpg\" type=\"image\/jpg\" \/><img decoding=\"async\" class=\"alignnone lazyload\" src=\"\/wp-content\/uploads\/2020\/07\/Hire_Javascript_Developer-header.jpg\" alt=\"Hire JavaScript Developer\" title=\"\"><\/picture>\n<\/span><br \/>\nSchon oft hat Technologie den Weg f\u00fcr den Erfolg von Unternehmen in der modernen Welt geebnet. Ihr Einfluss ist unbestreitbar. Von station\u00e4ren Gesch\u00e4ften bis hin zu digitalen Firmen haben sich alle an das digitale Zeitalter angepasst (oder sind gerade dabei, dies zu tun).<br \/>\nAlles, was wir aus der digitalen Perspektive sehen, von Websites und voll ausgestatteten Webanwendungen bis hin zu Mobiltelefonanwendungen und Widgets, die wir t\u00e4glich nutzen, verwendet eine gemeinsame Sprache f\u00fcr die Webentwicklung, die nur von Fachleuten und Enthusiasten verstanden wird \u2013 n\u00e4mlich JavaScript.<br \/>\n<\/section>\n<section>\n<h2>Was macht JavaScript?<\/h2>\n<p>JavaScript (JS) ist eine Programmiersprache, die am h\u00e4ufigsten f\u00fcr die Webentwicklung verwendet wird (und seit kurzem auch sehr beliebt f\u00fcr die Entwicklung von Mobilger\u00e4ten sowie auf der Serverseite ist). Die JavaScript-Entwicklung erm\u00f6glicht es einer Website, dynamische Inhalte auszuf\u00fchren, Bilder zu animieren, Multimedia zu steuern, mit den Servern zu kommunizieren, Informationen zu verarbeiten und vieles mehr.<br \/>\nNormalerweise arbeitet ein JavaScript-Entwickler am Front-End-Teil des Systems, aber es ist nicht ungew\u00f6hnlich, dass JavaScript f\u00fcr die Entwicklung von Back-End-Webanwendungen verwendet wird, wie oben erw\u00e4hnt (insbesondere mit Tools wie Node.js, Express und PM2). Auf diese Weise k\u00f6nnte der Entwickler dieser Programmiersprache als Full-Stack-Ingenieur arbeiten (sowohl am Front-End als auch am Back-End).<br \/>\nWie Sie sehen, werden Sie, egal in welcher Gesch\u00e4ftst\u00e4tigkeit Sie t\u00e4tig sind, h\u00f6chstwahrscheinlich fr\u00fcher oder sp\u00e4ter auf Javascript sto\u00dfen. Wenn Sie einen Javascript-Entwickler einstellen m\u00f6chten, finden Sie in diesem Artikel alle grundlegenden Informationen.<br \/>\n<\/section>\n<style>\n    #highest-caliber .container-highest-caliber{\n        background: #ECEEF4;\n        padding-left: 56px;\n        padding-top: 64px;\n        padding-bottom: 64px;\n        padding-right: 56px;\n        position: relative;\n        display: flex;\n        margin-bottom:64px;\n        margin-top:64px;\n        background-image: url(\"\/wp-content\/uploads\/2020\/07\/highest_caliber_background.svg\");\n        background-size:cover;\n        background-repeat: no-repeat;\n        background-position: right;\n        border-radius: 8px;\n    \n    }\n    #highest-caliber .panel-header{\n        font-family: Montserrat;\n        font-style: normal;\n        font-weight: bold;\n        font-size: 24px;\n        line-height: 32px;\n        letter-spacing: 0.02em;\n        color: #000000;\n        margin-top: 0;\n        margin-bottom: 50px;\n    \n    }        \n\n    #highest-caliber .left-panel {\n        width: 60%;\n        flex-direction: column;\n        justify-content: space-between;\n        position: relative;\n        z-index: 5;\n    } \n    #highest-caliber .right-panel{\n        position: absolute;\n        right: 0;\n        bottom: 0;\n        height: 100%;\n        z-index: 1;\n    }\n    #highest-caliber .right-panel img {\n        max-width:100%;\n        max-height:100%;\n        position: relative;\n        z-index: 2;\n    }\n    @media only screen and (max-width: 768px) {\n    #highest-caliber .container-highest-caliber{\n        background-image: url(\"\/wp-content\/uploads\/2020\/07\/background-serious-about-security-2.svg\");\n    }                \n    #highest-caliber .left-panel{\n            width: 100%;\n    }\n    \n    }\n    <\/style>\n    \n    <section id=\"highest-caliber\">\n    <div class=\"container-highest-caliber\">\n        <div class=\"left-panel panel\">\n            <h2 class=\"panel-header\">DevsData provides engineers of the highest caliber<\/h2>\n            <a href=\"\/contact-us\/\" onClick=\"return false;\" >\n\n            <button class=\"button_empty contact-us-show\">Contact us<\/button>\n            <\/a>\n        <\/div>\n    <\/div>\n    <\/section>    \n    \n<section>\n<h2>Worauf sollten Sie achten, wenn Sie einen Javascript-Entwickler einstellen?<\/h2>\n<p>Heutzutage kann es schwierig sein, einen versierten JavaScript-Entwickler einzustellen. Zwar gibt es viele JavaScript-Entwickler-Spezialisten mit jahrelanger Erfahrung in ihrem Lebenslauf, aber es kann sein, dass das, was sie zu bieten haben, einfach nicht den spezifischen Anforderungen Ihres Projekts entspricht.<br \/>\nWie bei jeder Berufsbezeichnung ist eine einzigartige Kombination aus F\u00e4higkeiten, Wissen, Leidenschaft, Scharfsinn und Einstellung erforderlich, um sich von der Masse der Bewerber abzuheben. Ein Personalverantwortlicher sollte \u00fcber das richtige Wissen verf\u00fcgen, um zu entscheiden, wer f\u00fcr die Position eines Javascript-Entwicklers geeignet ist, und er sollte auch andere Personen aus dem Webentwicklungsteam um ihre Meinung bitten.<\/p>\n<h3>Auf dem neuesten Stand der Technik sein<\/h3>\n<p>Es gibt bestimmte Kriterien, die ein potenzieller Javascript-Entwickler erf\u00fcllen sollte. Ein gro\u00dfes Interesse am Lernen und an der Webentwicklung sollte auf jeden Fall auf der Checkliste stehen. Die Tech-Branche ist f\u00fcr ihre rasante Entwicklung bekannt und es ist keine Kleinigkeit, mit den Ver\u00e4nderungen Schritt zu halten, die j\u00e4hrlich oder sogar monatlich stattfinden.<br \/>\nNicht nur freiberufliche Javascript-Entwickler, sondern alle Ingenieure, die eingestellt werden sollen, sollten eine lern- und wachstumsorientierte Einstellung haben. Der richtige Kandidat sollte immer auf dem neuesten Stand der Technik sein. Sie lesen entweder auf den technischen Nachrichtenseiten\/Blogs dar\u00fcber, h\u00f6ren Podcasts, schauen Videos und sind in der Lage, einige der neuen Technologien selbst zu testen.<br \/>\nFragen Sie den Kandidaten f\u00fcr eine Stelle als JavaScript-Entwickler nach seinen neuen Quellen. Einige Beispiel-Websites f\u00fcr JavaScript-Nachrichten sind <a href=\"https:\/\/medium.com\/dailyjs\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">medium.com<\/a>, <a href=\"https:\/\/changelog.com\/topic\/javascript\" rel=\"noopener nofollow\" target=\"_blank\">changelog.com<\/a> und \u2013 nicht zu vergessen \u2013 <a href=\"https:\/\/thehackernews.com\/\" rel=\"noopener nofollow\" target=\"_blank\">hackernews<\/a>. <span class=\"img-container\"><picture><source srcset=\"\/wp-content\/uploads\/2024\/07\/woman-sitting-while-operating-macbook-pro.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2024\/07\/woman-sitting-while-operating-macbook-pro.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2024\/07\/woman-sitting-while-operating-macbook-pro.png\" alt=\"girl programming\" title=\"\"><\/picture>\n<span class=\"pic-caption\">Es bedarf einer einzigartigen Kombination aus F\u00e4higkeiten, Wissen, Leidenschaft und Einstellung, um sich von der Masse der Bewerber abzuheben.<\/span><\/span><\/p>\n<div class=\"youtube-player-op\" data-id=\"3xKxSNw26ZU\"><\/div>\n<p><span class=\"pic-caption\">Ein JavaScript-Entwickler sollte auch mit JavaScript-Frameworks vertraut sein, die unbedingt erforderlich sind, um die Sprache zu beherrschen.<\/span><br \/>\n<\/section>\n<section>\n<h2>Fragen, mit denen selbst die besten und erfahrensten Javascript-Entwickler Schwierigkeiten haben k\u00f6nnten<\/h2>\n<p>Die technischen Fragen, die Sie im Rahmen des Vorstellungsgespr\u00e4chs stellen, sind genauso wichtig wie die Tests und \u00dcbungen, die dem potenziellen freiberuflichen Javascript-Entwickler gestellt werden. Diese Fragen bestimmen, ob der Javascript-Entwickler die Qualit\u00e4ten hat, nach denen Sie <a href=\"https:\/\/devsdata.com\/looking-for-programmers\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">suchen<\/a>.<br \/>\nMan kann immer dar\u00fcber streiten, wie wichtig Wissensfragen w\u00e4hrend des Vorstellungsgespr\u00e4chs sind, da die Antwort heutzutage t\u00e4glich leicht bei Google oder StackOverflow zu finden ist. Wir sind jedoch der festen \u00dcberzeugung, dass gute freiberufliche Javascript-Entwickler ein tiefes, grundlegendes Verst\u00e4ndnis der von ihnen verwendeten Technologie besitzen sollten.<br \/>\n\u00c4hnliches gilt f\u00fcr das Testen auf Probleml\u00f6sungsf\u00e4higkeiten. W\u00e4hrend das Wissen \u00fcber Algorithmen und Datenstrukturen f\u00fcr viele einfache Projekte wie Standard-Web- oder mobile Apps in der Tat nicht entscheidend ist, ist die F\u00e4higkeit, komplexe technische Herausforderungen schnell und korrekt zu l\u00f6sen, zusammen mit einem breiten Systemverst\u00e4ndnis der miteinander verbundenen Elemente unserer Ansicht nach ein Muss.<br \/>\nUnter Ber\u00fccksichtigung des oben Gesagten werfen wir nun einen Blick auf anspruchsvolle Fragen zur Javascript-Entwicklung. Wenn Sie einen Javascript-Entwickler einstellen m\u00f6chten, empfehlen wir, diese Fragen im Vorstellungsgespr\u00e4ch zu stellen, um herauszufinden, ob ein Kandidat wirklich ein tiefes Verst\u00e4ndnis f\u00fcr diese Programmiersprache und die Webentwicklung besitzt.<\/p>\n<h3>Was ist ein typischer Anwendungsfall f\u00fcr anonyme Funktionen?<\/h3>\n<p>Anonyme Funktionen werden auch als Arrow-Funktionen bezeichnet. Es handelt sich um eine Funktion ohne Namen. Am h\u00e4ufigsten werden sie als Argument an eine andere Funktion \u00fcbergeben oder zur Erstellung des Ergebnisses einer Funktion h\u00f6herer Ordnung verwendet, die eine Funktion zur\u00fcckgeben muss. Wenn sie nur einmal oder nur in begrenzter Anzahl verwendet werden, kann eine anonyme Funktion syntaktisch leichter sein als die Verwendung eines Namens.<br \/>\n<style>\n    .media-mentions {\n        margin: 64px 0px;\n        padding-top: 64px;\n        padding-bottom: 64px;\n        box-shadow: 4px 24px 40px rgba(12, 22, 56, 0.1);\n        border-radius: 8px;\n    }\n    \n    .media-mentions .media-header {\n        font-family: Montserrat;\n        font-style: normal;\n        font-weight: bold;\n        font-size: 24px;\n        line-height: 32px;\n        text-align: center;\n        letter-spacing: 0.02em;\n        color: #000000;\n    }\n\n    .media-header-container h3 {\n        text-align: center;\n        font-size: 30px;\n        margin-top: 0;\n    }\n    \n    .media-mentions .media-images-container {\n        text-align: center;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        gap: 50px;\n    }\n\n    .media-mentions .media-images-container .image-element {\n        display: flex;\n        align-items: center;\n    }\n    \n    .media-mentions .media-images-container img {\n        -webkit-filter: grayscale(100%) opacity(80%);\n        filter: grayscale(100%);\n        transition: opacity 0.2s;\n    }\n\n    .media-mentions .media-images-container .image-element-airwallex img {\n        height: 20px;\n        width: auto;\n    }\n    \n    .media-mentions .media-images-container img:hover {\n        -webkit-filter: grayscale(0);\n        filter: grayscale(0);\n        opacity: 1;\n    }\n    \n    .media-mentions .media-image {\n        opacity: 0.6;\n    }\n    \n    @media only screen and (max-width: 767px) {\n        .media-header-container h3 {\n            font-size: 20px;\n        }\n        .media-mentions .media-images-container {\n            height: 64px;\n            gap: 5vw;\n        }\n        .media-mentions .media-images-container img {\n            height: auto;\n            max-width: 23vw;\n        }\n        .media-mentions .media-images-container .image-element-airwallex img {\n            height: unset;\n        }\n    }\n<\/style>\n<section class=\"media-mentions\">\n    <div class=\"media-header-container\">\n        <h3 class=\"media-header\">DevsData in the news.<\/h3>\n    <\/div>\n    <div class=\"media-images-container\">\n        <a class=\"image-element image-element-business-insider\" href=\"https:\/\/markets.businessinsider.com\/news\/stocks\/devsdata-llc-recognized-as-top-hiring-company-of-2024-and-announces-expansion-to-tel-aviv-israel-1033991617\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n            <img loading=\"lazy\" decoding=\"async\"\n                width=\"103\"\n                height=\"32\"\n                class=\"image media-image lazyload\"\n                src=\"\/wp-content\/themes\/intentionally-blank\/assets\/img\/home\/media-mentions\/business_insider.svg\"\n                alt=\"Business Insider logo\"\n            \/>\n        <\/a>\n        <a class=\"image-element image-element-airwallex\" href=\"https:\/\/www.airwallex.com\/us\/blog\/how-to-expand-to-europe-tom-potanski-devsdata\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n            <img loading=\"lazy\" decoding=\"async\"\n                width=\"232\"\n                height=\"32\"\n                class=\"image media-image lazyload\"\n                src=\"\/wp-content\/themes\/intentionally-blank\/assets\/img\/home\/media-mentions\/airwallex.svg\"\n                alt=\"Airwallex logo\"\n            \/>\n        <\/a>\n        <a class=\"image-element image-element-yahoo-finance\" href=\"https:\/\/finance.yahoo.com\/news\/big-data-trends-financial-services-123500932.html?_guc_consent_skip=1583870080\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n             <img loading=\"lazy\" decoding=\"async\"\n                width=\"87\"\n                height=\"32\"\n                class=\"image media-image lazyload\"\n                src=\"\/wp-content\/themes\/intentionally-blank\/assets\/img\/home\/media-mentions\/yahoo_finance.svg\"\n                alt=\"Yahoo finance logo\"\n            \/>\n        <\/a>\n    <\/div>\n<\/section><\/p>\n<h3>Was ist ein Generator in JS?<\/h3>\n<p>Generatorfunktionen erm\u00f6glichen die Definition eines iterativen Algorithmus durch das Schreiben einer einzelnen Funktion, deren Ausf\u00fchrung nicht kontinuierlich ist. Sie werden mit der Funktion*-Syntax geschrieben.<br \/>\nBeim Aufruf f\u00fchrt der Generator ihren Code nicht aus, sondern gibt einen speziellen Iteratortyp zur\u00fcck, der als Generator bezeichnet wird. Wenn ein Wert durch den Aufruf der n\u00e4chsten Methode des Generators verbraucht wird, wird die Generatorfunktion ausgef\u00fchrt, bis sie auf das Schl\u00fcsselwort \u201eyield\u201c trifft.<br \/>\nDie Funktion kann beliebig oft aufgerufen werden und gibt jedes Mal einen neuen Generator zur\u00fcck. Jeder Generator kann nur einmal durchlaufen werden.<\/p>\n<h3>Ist JavaScript eine Sprache mit Referenz- oder Wert\u00fcbergabe?<\/h3>\n<p>Es handelt sich immer um eine Wert\u00fcbergabe, aber bei Objekten ist der Wert der Variablen eine Referenz. Wenn Sie also ein Objekt \u00fcbergeben und seine Elemente \u00e4ndern, bleiben diese \u00c4nderungen auch au\u00dferhalb der Funktion bestehen. Dadurch sieht es aus wie eine Referenz\u00fcbergabe. Wenn Sie jedoch tats\u00e4chlich den Wert der Objektvariablen \u00e4ndern, werden Sie feststellen, dass die \u00c4nderung nicht bestehen bleibt, was beweist, dass es sich tats\u00e4chlich um eine Wert\u00fcbergabe handelt.<br \/>\nBeispiel:<\/p>\n<p style=\u201epadding-left: 40px;\u201c>function change(a, b, c)<br \/>\n{<\/p>\n<p style=\u201epadding-left: 80px;\u201c>a = a * 10;<br \/>\nb.item = \u201echanged\u201c;<br \/>\nc = {item: \u201echanged\u201c};<\/p>\n<p style=\u201epadding-left: 40px;\u201c>}<br \/>\nvar num = 10;<br \/>\nvar obj1 = {item: \u201eunchanged\u201c};<br \/>\nvar obj2 = {item: \u201eunchanged\u201c};<br \/>\nchange(num, obj1, obj2);<br \/>\nconsole.log(num);<br \/>\nconsole.log(obj1.item);<br \/>\nconsole.log(obj2.item);<br \/>\nAusgabe:<br \/>\n10<br \/>\nchanged<br \/>\nunchanged<\/p>\n<h3>Erl\u00e4utern Sie das \u201eEvent Bubbling\u201c und wie man es verhindern kann.<\/h3>\n<p>Von \u201eEvent Bubbling\u201c spricht man, wenn ein Ereignis vom innersten verschachtelten HTML-Element aus die DOM-Hierarchie hinaufwandert, bis es das Element erreicht, das auf das Ereignis wartet. Es beginnt beim tiefsten Element und wandert dann zu seinen Eltern und dann zu all seinen Vorfahren, die sich auf dem Weg von unten nach oben befinden.<br \/>\nWir k\u00f6nnen einen Ereignis-Listener hinzuf\u00fcgen, um ein Element auf der obersten Ebene wie HTML oder body zu verankern, bis dahin werden die Ereignisse weitergeleitet.<\/p>\n<h3>Beschreibe den Hauptunterschied zwischen einer `.forEach`-Schleife und einer `.map()`-Schleife und warum du dich f\u00fcr die eine oder die andere entscheiden w\u00fcrdest.<\/h3>\n<p><b>.forEach <\/b><\/p>\n<ul class=\"blog-list\">\n<li style=\"font-weight: 400;\">Durchl\u00e4uft die Elemente in einem Array.<\/li>\n<li style=\"font-weight: 400;\">F\u00fchrt f\u00fcr jedes Element einen R\u00fcckruf aus.<\/li>\n<li style=\"font-weight: 400;\">Gibt keinen Wert zur\u00fcck.<\/li>\n<\/ul>\n<p><b>.map()\u00a0<\/b><\/p>\n<ul class=\"blog-list\">\n<li style=\"font-weight: 400;\">Durchl\u00e4uft die Elemente in einem Array.<\/li>\n<li style=\"font-weight: 400;\">\u201eMappt\u201c jedes Element auf ein neues Element, indem die Funktion f\u00fcr jedes Element aufgerufen wird, wodurch ein neues Array erstellt wird.<\/li>\n<\/ul>\n<p>Der Hauptunterschied zwischen .forEach und .map() besteht darin, dass .map() ein neues Array zur\u00fcckgibt. Wenn Sie das Ergebnis ben\u00f6tigen, aber das urspr\u00fcngliche Array nicht ver\u00e4ndern m\u00f6chten, ist .map() die klare Wahl. Wenn Sie lediglich ein Array durchlaufen m\u00fcssen, ist .forEach eine gute Wahl.<\/p>\n<h3>Beschreibung der Methoden Array.filter und Array.reduce<\/h3>\n<p>Array.filter ist eine Methode, die ein Array (basierend auf einem Array, das die Methode aufruft) mit Werten zur\u00fcckgibt, die einen Test bestehen, der von einer Callback-Funktion bereitgestellt wird. Hier ist ein Beispiel:<br \/>\n<span class=\"img-container\">\n<picture><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-1024x130.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-1024x130.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-1024x130.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-1024x130.png 1024w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-300x38.png 300w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-768x98.png 768w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29-1536x195.png 1536w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.36.29.png 2014w\" alt=\"code javascript\" title=\"\"><\/picture>\n<\/span><\/p>\n<p>Array.reduce ist eine Methode, die einen einzelnen Wert (basierend auf einem aufrufenden Array) zur\u00fcckgibt, der durch eine Reduktionsfunktion bestimmt wird. Hier ist ein einfaches Beispiel, das das Z\u00e4hlen einer Summe von Elementen in einem Array zeigt:<\/p>\n<p><span class=\"img-container\">\n<picture><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-1024x89.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-1024x89.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-1024x89.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-1024x89.png 1024w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-300x26.png 300w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-768x67.png 768w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15-1536x134.png 1536w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.37.15.png 2022w\" alt=\"code javascript\" title=\"\"><\/picture>\n<\/span><\/p>\n<h3>Beschreibe negative Unendlichkeit<\/h3>\n<p>Die negative Unendlichkeit ist ein konstanter Wert, der verwendet wird, um einen Wert darzustellen, der der niedrigste verf\u00fcgbare ist. Das bedeutet, dass keine andere Zahl kleiner ist als dieser Wert. Sie kann mit einer selbst erstellten Funktion oder durch eine arithmetische Operation erzeugt werden. JS zeigt negative Unendlichkeit als Wert als \u201e-Infinity\u201c an.<\/p>\n\n    <style>\n        .cross-industry{\n            margin:64px 0;\n            background-color: #ECEEF4;\n            padding:64px 56px;\n            box-shadow: 4px 24px 40px rgba(12, 22, 56, 0.1);\n                border-radius: 8px;\n        }\n        .cross-industry .section-heading{\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: bold;\n            font-size: 24px;\n            line-height: 32px;\n            letter-spacing: 0.02em;\n            color: #000000;\n        }\n        .cross-industry .section-text{\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: normal;\n            font-size: 16px;\n            line-height: 28px;\n            letter-spacing: 0.02em;\n            color: #000000;\n            margin-bottom: 32px;\n        }\n        .cross-industry .industries{\n            padding-top: 32px;\n            display: flex;\n            flex-direction: row;\n            justify-content: space-between;\n        }\n        .cross-industry .section-column{\n            display: flex;\n            flex-direction: column;   \n        }\n        .cross-industry .industry{\n            text-align: center;\n            height: 140px;\n        }\n        .cross-industry .industry p{\n            padding-top: 20px;\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: bold;\n            font-size: 16px;\n            line-height: 22px;\n            text-align: center;\n            letter-spacing: 0.02em;\n            color: #1C2655;\n        }\n    @media only screen and (max-width: 768px) {\n        .cross-industry .industries{\n            flex-direction: column;\n        }\n        .cross-industry .section-column{\n            flex-direction: row;\n            justify-content: space-around;\n        }\n        .cross-industry{\n            padding: 64px 0px;\n        }\n        .cross-industry .section-text{\n            display: none;\n        }\n        .cross-industry .section-heading{\n            padding:0 24px;\n            text-align: center;\n        }\n    }\n    \n    <\/style>\n    <section class=\"cross-industry\">\n        <h3 class=\"section-heading\">Cross-industry expertise<\/h3>\n        <span class=\"section-text\">Over the years, we've accumulated expertise in building software and conducting recruitment processes for various domains. Below are six industries in which we have particularly strong knowledge.<\/span>\n        <div class=\"industries\">\n            <div class=\"section-column\">\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"40\" height=\"40\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/retail.svg\" alt=\"tag\" title=\"\">\n                    <p>Retail\/e-commerce<\/p>\n                <\/div>\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"43\" height=\"43\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/construction.svg\" alt=\"plane\" title=\"\">\n                    <p>Construction<\/p>                \n                <\/div>\n            <\/div>\n            <div class=\"section-column\">\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"43\" height=\"42\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/financial_services.svg\" alt=\"pharmacy\" title=\"\">\n                    <p>Pharmaceutical<\/p>  \n                <\/div>\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"42\" height=\"42\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/telco.svg\" alt=\"phone\" title=\"\">\n                    <p>Telecom<\/p>  \n                <\/div>\n            <\/div>\n            <div class=\"section-column\">\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"43\" height=\"42\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/financial_services.svg\" alt=\"money\" title=\"\">\n                    <p>Financial services,<br\/> hedge funds<\/p>  \n                <\/div>\n                <div class=\"industry\">\n                    <img loading=\"lazy\" decoding=\"async\" width=\"42\" height=\"42\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/svg\/for_the_enterprise\/cross-industry\/entertainment.svg\" alt=\"tv\" title=\"\">\n                    <p>Media &<br\/> entertainment<\/p>  \n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n<h3>Was ist die zeitliche Totzone in ES6?<\/h3>\n<p>In ES6 werden \u201elet\u201c und \u201econst\u201c gehoben (wie \u201evar\u201c, \u201eclass\u201c und \u201efunction\u201c), aber es gibt einen Zeitraum zwischen dem Eintritt in den G\u00fcltigkeitsbereich und der Deklaration, in dem nicht auf sie zugegriffen werden kann. Dieser Zeitraum ist die zeitliche Totzone (TDZ).<\/p>\n<p style=\u201epadding-left: 40px;\u201c>\/\/console.log(aLet) \/\/w\u00fcrde ReferenceError ausl\u00f6sen<br \/>\nlet alLet; console.log(aLet); \/\/ undefined<br \/>\naLet = 5;<br \/>\nconsole.log(aLet); \/\/ 5<\/p>\n<p>In diesem Beispiel endet die zeitliche Totzone, wenn &#8218;aLet&#8216; deklariert und nicht zugewiesen wird.<\/p>\n<h3>Was ist ein Versprechen? Welche Zust\u00e4nde kann ein Versprechen annehmen?<\/h3>\n<p>Es handelt sich um ein Objekt, das synchron von einer asynchronen Funktion zur\u00fcckgegeben werden kann. Sie sind einfach zu verwalten, wenn es um mehrere asynchrone Vorg\u00e4nge geht, bei denen R\u00fcckrufe eine R\u00fcckrufh\u00f6lle erzeugen k\u00f6nnen, die zu un\u00fcberschaubarem Code f\u00fchrt.<br \/>\nVor der Einf\u00fchrung von Promises wurden Ereignisse und R\u00fcckruffunktionen verwendet, die jedoch nur \u00fcber begrenzte Funktionalit\u00e4ten verf\u00fcgten und un\u00fcberschaubaren Code erzeugten. Mehrere R\u00fcckruffunktionen w\u00fcrden eine R\u00fcckrufh\u00f6lle erzeugen, die zu un\u00fcberschaubarem Code f\u00fchrt. Ereignisse waren nicht gut f\u00fcr die Handhabung asynchroner Vorg\u00e4nge geeignet.<br \/>\nPromises sind die ideale Wahl f\u00fcr die einfachste Handhabung asynchroner Vorg\u00e4nge. Sie k\u00f6nnen mehrere asynchrone Vorg\u00e4nge problemlos verarbeiten und bieten eine bessere Fehlerbehandlung als Callbacks und Ereignisse. Ein Promise kann sich in einem von drei m\u00f6glichen Zust\u00e4nden befinden: \u201eausstehend\u201c, \u201eerf\u00fcllt\u201c oder \u201eausstehend\u201c. Benutzer k\u00f6nnen Callbacks anh\u00e4ngen, um den erf\u00fcllten Wert oder den Grund f\u00fcr die Ablehnung zu verarbeiten.<br \/>\nVorteile der Verwendung von Promises:<\/p>\n<ul class=\"blog-list\">\n<li style=\"font-weight: 400;\">Verbesserte Lesbarkeit des Codes<\/li>\n<li style=\"font-weight: 400;\">Bessere Handhabung asynchroner Vorg\u00e4nge<\/li>\n<li style=\"font-weight: 400;\">Besserer Ablauf der Steuerungsdefinition in asynchroner Logik<\/li>\n<li style=\"font-weight: 400;\">Bessere Fehlerbehandlung<\/li>\n<\/ul>\n<h3>Erl\u00e4utern Sie, was das Heben in JavaScript ist<\/h3>\n<p>Heben ist das Konzept, bei dem JavaScript standardm\u00e4\u00dfig alle Deklarationen an den Anfang des aktuellen G\u00fcltigkeitsbereichs verschiebt. Daher kann eine Variable verwendet werden, bevor sie deklariert wurde. Beachten Sie, dass JavaScript nur Deklarationen und keine Initialisierungen hebt.<br \/>\n\n            <div class=\"schedule-consultation middle-scheduler\">\n                <div class=\"block-contact\">\n                    <p>Do you have IT recruitment needs?<\/p>\n                <\/div>\n                <div class=\"contact-us-show schedule-consultation-button\">\n                    \ud83c\udfa7\n                    <span>Schedule a meeting<\/span>\n                <\/div>\n            <\/div>\n    <\/p>\n<h3>Unterschied zwischen undefiniert, NaN und null<\/h3>\n<ul class=\"blog-list\">\n<li style=\"font-weight: 400;\">Undefined &#8211; der Standardwert, der beim Zugriff auf nicht vorhandene Elemente verwendet wird. Dies bedeutet, dass das Objekt keinen Wert hat. Dies tritt auf, wenn Sie eine Variable erstellen und ihr keinen Wert zuweisen.<\/li>\n<li style=\"font-weight: 400;\">Null \u2013 Objekt ist leer und zeigt nicht auf eine Speicheradresse.<\/li>\n<li style=\"font-weight: 400;\">NaN \u2013 steht f\u00fcr einen Wert, der \u201ekeine Zahl\u201c ist. Es gibt viele M\u00f6glichkeiten, diesen Fehler zu generieren, unter anderem ung\u00fcltige mathematische Operationen wie 0\/0 oder \u201eirgendein Text\u201c \/ 1.<\/li>\n<\/ul>\n<h3>Was ist der Wert von typeof undefined == typeof NULL?<\/h3>\n<p>Der Ausdruck wird als wahr ausgewertet, da NULL wie jede andere undefinierte Variable behandelt wird.<br \/>\n<span class=\"img-container\"><picture><source srcset=\"\/wp-content\/uploads\/2024\/07\/person-using-macbook-pro-on-person-s-lap.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2024\/07\/person-using-macbook-pro-on-person-s-lap.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2024\/07\/person-using-macbook-pro-on-person-s-lap.png\" alt=\"dev shop\" title=\"\"><\/picture>\n<span class=\"pic-caption\">Er sollte regelm\u00e4\u00dfig technische Nachrichten lesen, vor allem \u00fcber Technologien, die er selbst nutzt. Es ist eine gute Idee, sich Tech-Podcasts anzuh\u00f6ren oder Videos anzusehen.<\/span><\/span><\/p>\n<h3>Was sind die Unterschiede zwischen &#8218;==&#8216; und &#8218;===&#8216;?<\/h3>\n<p>Der Hauptunterschied zwischen den Operatoren \u201e==\u201c und \u201e===\u201c besteht darin, dass erstere Variablen durch Typkorrektur vergleichen, z. B. wenn Sie eine Zahl mit einer Zeichenkette mit numerischem Literal vergleichen, erlaubt == dies, aber === erlaubt dies nicht, da nicht nur der Wert, sondern auch der Typ von zwei Variablen \u00fcberpr\u00fcft wird. Wenn zwei Variablen nicht vom gleichen Typ sind, gibt \u201e===\u201c \u201efalsch\u201c zur\u00fcck, w\u00e4hrend \u201e==\u201c \u201ewahr\u201c zur\u00fcckgibt.<\/p>\n<h3>Was ist der Unterschied zwischen <i>let<\/i> und <i>var<\/i>?<\/h3>\n<p>Der Hauptunterschied liegt in den Scoping-Regeln. Variablen, die mit dem Schl\u00fcsselwort <em>var<\/em> deklariert werden, sind auf den unmittelbaren Funktionsk\u00f6rper beschr\u00e4nkt, w\u00e4hrend <em>let<\/em>-Variablen auf den unmittelbaren, durch Klammern gekennzeichneten umschlie\u00dfenden Block beschr\u00e4nkt sind. Der Grund, warum das Schl\u00fcsselwort <em>let<\/em> in die Sprache eingef\u00fchrt wurde, war, dass der Funktionsumfang verwirrend ist und eine der Hauptursachen f\u00fcr Fehler war.<\/p>\n<h3>Wie definiert man mehrere Objekte desselben Typs?<\/h3>\n<p>Bevor es in JavaScript Klassen gab, verwendeten Entwickler einen bestimmten Funktionstyp, den sogenannten \u201eKonstruktor\u201c. Heutzutage verwenden Entwickler jedoch Klassen, um Objekttypen zu definieren. Der Unterschied zwischen diesen beiden Syntaxen ist unten dargestellt:<\/p>\n<p><span class=\"img-container\">\n<picture><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-1024x513.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-1024x513.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-1024x513.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-1024x513.png 1024w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-300x150.png 300w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-768x385.png 768w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35-1536x770.png 1536w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.39.35.png 1824w\" alt=\"code javascript\" title=\"\"><\/picture><\/span><\/p>\n<p><span class=\"img-container\">\n<picture><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-1024x514.webp\" type=\"image\/webp\" \/><source srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-1024x514.png\" type=\"image\/png\" \/><img decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-1024x514.png\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"\/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-1024x514.png 1024w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-300x150.png 300w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-768x385.png 768w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09-1536x771.png 1536w, \/wp-content\/uploads\/2020\/06\/Screenshot-2020-06-19-at-11.40.09.png 1822w\" alt=\"code javascript\" title=\"\"><\/picture><\/span><\/p>\n<p>Die Klassensyntax wird h\u00e4ufiger verwendet, weil sie klarer ist. Unter der Haube funktioniert die Klassensyntax jedoch genauso wie die Konstruktorsyntax. Sie ist eine Art \u201eZuckercode\u201c f\u00fcr die Konstruktorsyntax.<br \/>\n<style>\n    \/* Wide range of technology *\/\n    #wide-range-of-technology {\n    margin: 64px 0px;\n    text-align: center;\n    padding: 64px;\n    background: #FFFFFF;\n    box-shadow: 4px 24px 40px rgba(12, 22, 56, 0.1);\n    border-radius: 8px;\n    }\n    \n    #wide-range-of-technology .col-pair {\n    display: flex;\n    flex: 1;\n    }\n    \n    #wide-range-of-technology .section-row {\n    display: flex;\n    }\n    \n    #wide-range-of-technology .section-column {\n    background-color: #ECEEF4;\n    flex: 1;\n    margin: 10px;\n    border-radius: 8px;\n    }\n    \n    #wide-range-of-technology p {\n        font-family: Montserrat;\n        font-style: normal;\n        font-weight: 600;\n        font-size: 17px;\n        line-height: 140%;\n        text-align: left;\n        letter-spacing: 0.02em;\n        color: #000000;\n        padding-bottom: 32px;\n        padding-left: 24px;\n        padding-right: 4px;\n    }\n\n    \n    #wide-range-of-technology .btn-container {\n    margin-top: 50px;\n    }\n    \n    #wide-range-of-technology img {\n    padding-top: 42px;\n    width: 120px;\n    }\n    \n    #wide-range-of-technology .top-text {\n    font-family: Montserrat;\n    font-style: normal;\n    font-weight: bold;\n    font-size: 18px;\n    line-height: 30px;\n    letter-spacing: 0.02em;\n    color: #0332C9;\n    text-align: left;\n    padding: 0;\n    margin-bottom: 8px;\n    margin-top: 0;\n    }\n    \n    #wide-range-of-technology .heading-text {\n    font-family: Montserrat;\n    font-style: normal;\n    font-weight: normal;\n    font-size: 30px;\n    line-height: 40px;\n    letter-spacing: 0.02em;\n    color: #000000;\n    text-align: left;\n    margin-top: 0;\n    margin-bottom: 50px;\n    }\n    \n    @media only screen and (max-width: 768px) {\n    #wide-range-of-technology .section-row {\n    flex-direction: column;\n    }\n    #wide-range-of-technology .section-column {\n    margin: 8px 0px;\n    }\n    #wide-range-of-technology {\n    padding: 32px 20px 64px 20px;\n    text-align: center;\n    }\n    }\n    <\/style>\n    <section id=\"wide-range-of-technology\">\n    <p class=\"top-text\">For demanding clients<\/p>\n    <h3 class=\"heading-text\">Wide range of technology services<\/h3>\n    <div class=\"section-row\">\n    <div class=\"section-column\">\n    <picture>\n    <img loading=\"lazy\" decoding=\"async\" alt=\"Enterprise Application Development\" width=\"120\" height=\"162\" src=\"\/wp-content\/uploads\/2020\/06\/enterprise.svg\" title=\"\">\n    <\/picture>\n    <p>Enterprise application<br> development<\/p>\n    <\/div>\n    <div class=\"section-column\">\n    <picture>\n    <img loading=\"lazy\" decoding=\"async\" alt=\"Mobile Apps\" width=\"120\" height=\"162\" src=\"\/wp-content\/uploads\/2020\/06\/mobile-apps.svg\" title=\"\">\n    <\/picture>\n    <p>Mobile apps<\/p>\n    <\/div>\n    <\/div>\n    <div class=\"section-row\">\n    <div class=\"section-column\">\n    <picture>\n    <img loading=\"lazy\" decoding=\"async\" alt=\"Big Data and Data Analytics\" width=\"120\" height=\"162\" src=\"\/wp-content\/uploads\/2020\/06\/big-data-and-data-analytics.svg\" title=\"\">\n    <\/picture>\n    <p>Big Data and Data<br> Analytics<\/p>\n    <\/div>\n    <div class=\"section-column\">\n    <picture>\n    <img loading=\"lazy\" decoding=\"async\" alt=\"Tech Recruitment Services\" width=\"120\" height=\"162\" src=\"\/wp-content\/uploads\/2020\/06\/tech-recruitment-services.svg\" title=\"\">\n    <\/picture>\n    <p>Tech recruitment<br> services<\/p>\n    <\/div>\n    <\/div>\n    <div class=\"btn-container\"> <a href=\"\/services\/\">\n    <!-- target=\"_blank\" rel=\"noopener noreferrer\" -->\n    <button class=\"button_empty\"> <span> Learn more <\/span><\/button> <\/a> <\/div>\n    <\/section><\/p>\n<h3>Was bedeutet <i>const<\/i> in JS?<\/h3>\n<p>Auf den ersten Blick mag es so aussehen, als ob <i>const<\/i> dasselbe bedeutet wie in anderen Sprachen wie C++, Java usw., wo es \u201eein konstanter Wert\u201c bedeutet. In JS bedeutet es jedoch etwas anderes. <i>Const<\/i> bedeutet, dass Sie die Variable nicht \u00fcberschreiben k\u00f6nnen, aber dennoch etwas darin \u00e4ndern k\u00f6nnen.<br \/>\nWenn eine <i>const<\/i>-Variable also ein Objekt ist, k\u00f6nnen die Werte ihrer Attribute dennoch ge\u00e4ndert werden. \u00c4hnlich verh\u00e4lt es sich bei Arrays, bei denen Sie die Werte ihrer Elemente \u00e4ndern k\u00f6nnen.<\/p>\n<h3>Was ist die Bedeutung und der Grund daf\u00fcr, den gesamten Inhalt einer JavaScript-Quelldatei in einen Funktionsblock einzuschlie\u00dfen?<\/h3>\n<p>Dies ist eine zunehmend g\u00e4ngige Praxis, die von vielen beliebten JavaScript-Bibliotheken (jQuery, Node.js usw.) angewendet wird. Diese Technik erstellt einen Abschluss um den gesamten Inhalt der Datei, wodurch, was vielleicht am wichtigsten ist, ein privater Namensraum erstellt wird und dadurch potenzielle Namenskonflikte zwischen verschiedenen JavaScript-Modulen und -Bibliotheken vermieden werden.<br \/>\nEin weiteres Merkmal dieser Technik besteht darin, dass sie einen leicht referenzierbaren (vermutlich k\u00fcrzeren) Alias f\u00fcr eine globale Variable erm\u00f6glicht. Dies wird h\u00e4ufig verwendet, z. B. in jQuery-Plugins. jQuery erm\u00f6glicht es Ihnen, die $-Referenz auf den jQuery-Namespace mithilfe von jQuery.noConflict() zu deaktivieren. Wenn dies geschehen ist, kann Ihr Code $ weiterhin verwenden, indem er diese Verschlusstechnik wie folgt anwendet:<br \/>\n(function($) { \/* jQuery plugin code referencing $ *\/ } )(jQuery);<\/p>\n<h3>Erl\u00e4uterung von \u201euse strict\u201c<\/h3>\n<p>\u201euse strict\u201c soll anzeigen, dass der Code im \u201estrict mode\u201c ausgef\u00fchrt werden soll. Im strict mode k\u00f6nnen Sie beispielsweise keine nicht deklarierten Variablen verwenden. Der strict mode erleichtert das Schreiben von \u201esicherem\u201c Code.<br \/>\nBeispielsweise wird in normalem JavaScript durch die falsche Eingabe eines Variablennamens eine neue globale Variable erstellt. Im Strict-Modus wird dadurch ein Fehler ausgel\u00f6st, sodass keine globale Variable versehentlich erstellt werden kann. Im Strict-Modus wird durch jede Zuweisung zu einer nicht beschreibbaren Eigenschaft, einer reinen Getter-Eigenschaft, einer nicht vorhandenen Eigenschaft, einer nicht vorhandenen Variablen oder einem nicht vorhandenen Objekt ein Fehler ausgel\u00f6st.<\/p>\n<h3>Was ist ein \u201eClosure\u201c in JavaScript?<\/h3>\n<p>Ein Closure ist eine innere Funktion, die Zugriff auf die Variablen in der \u00e4u\u00dferen (umschlie\u00dfenden) Funktionsbereichskette hat. Das Closure hat Zugriff auf Variablen in drei Bereichen, insbesondere auf Variablen in seinem eigenen Bereich, Variablen im Bereich der umschlie\u00dfenden Funktion und globale Variablen.<\/p>\n<h3>Warum ist der \u201ethis\u201c-Operator in JavaScript inkonsistent?<\/h3>\n<p>Das Wichtigste, was man verstehen muss, ist, dass ein Funktionsobjekt keinen festen \u201ethis\u201c-Wert hat \u2013 der Wert von \u201ethis\u201c \u00e4ndert sich je nachdem, wie die Funktion aufgerufen wird. Wir sagen, dass eine Funktion mit einem bestimmten \u201ethis\u201c-Wert aufgerufen wird \u2013 der \u201ethis\u201c-Wert wird zum Zeitpunkt des Aufrufs bestimmt, nicht zum Zeitpunkt der Definition.<\/p>\n<ul class=\"blog-list\">\n<li style=\"font-weight: 400;\">Wenn die Funktion als \u201eRohfunktion\u201c aufgerufen wird, ist \u201ethis\u201c das globale Objekt.<\/li>\n<li style=\"font-weight: 400;\">Wenn sie als Methode f\u00fcr ein Objekt aufgerufen wird, ist \u201ethis\u201c das aufrufende Objekt.<\/li>\n<li style=\"font-weight: 400;\">Wenn Sie eine Funktion mit \u201ecall\u201c oder \u201eapply\u201c aufrufen, wird \u201ethis\u201c als erstes Argument f\u00fcr \u201ecall\u201c oder \u201eapply\u201c angegeben.<\/li>\n<li style=\"font-weight: 400;\">Wenn sie als Ereignis-Listener aufgerufen wird, ist \u201ethis\u201c das Element, das das Ziel des Ereignisses ist.<\/li>\n<li style=\"font-weight: 400;\">Wenn sie als Konstruktor mit \u201enew\u201c aufgerufen wird, ist \u201ethis\u201c ein neu erstelltes Objekt, dessen Prototyp auf die Eigenschaft \u201eprototype\u201c der Konstruktorfunktion gesetzt wird.<\/li>\n<li style=\"font-weight: 400;\">Wenn die Funktion das Ergebnis einer Bindungsoperation ist, wird \u201ethis\u201c in der Funktion immer und f\u00fcr immer  auf das erste Argument des Bindungsaufrufs gesetzt, der sie erzeugt hat. (Dies ist die einzige Ausnahme von der Regel, dass Funktionen kein festes \u201ethis\u201c haben \u2013 Funktionen, die durch \u201eBindung\u201c erzeugt werden, haben tats\u00e4chlich ein unver\u00e4nderliches \u201ethis\u201c.<\/li>\n<\/ul>\n<\/section>\n<style>\n    \/* Reasons to chose devsdata *\/\n    #reasons-to-chose .section-container{\n        box-shadow: 4px 24px 40px rgba(12, 22, 56, 0.1);\n        padding-bottom: 82px;\n        padding-left: 56px;\n        padding-right: 56px;;\n        text-align: center;\n        padding-top: 64px;\n        border-radius: 8px;\n    }\n    #reasons-to-chose .tiles{\n        display: flex;\n        flex-direction: row;\n        justify-content: center;\n        margin-bottom: 64px;;\n    }\n    #reasons-to-chose .tile{\n        background-color: #ECEEF4;;\n        margin:7px;\n        padding: 22px;\n        text-align: left;\n        width: 180px;\n        min-height: 210px;\n        border-radius: 8px;\n    }        \n    #reasons-to-chose .tile span{\n        font-family: Montserrat;\n        font-style: normal;\n        font-weight: normal;\n        font-size: 16px;\n        line-height: 28px;\n        letter-spacing: 0.02em;\n        color: #000000;\n    }        \n\n    #reasons-to-chose .button_empty span::after{\n        content: \"Find out why we are unique\";\n    }\n\n    #reasons-to-chose .top-text{\n        font-family: Montserrat;\n        font-style: normal;\n        font-weight: bold;\n        font-size: 24px;\n        line-height: 32px;\n        letter-spacing: 0.02em;\n        color: #000000;\n        text-align: left;\n    }\n    @media only screen and (max-width: 768px) {\n    #reasons-to-chose .section-container{\n    padding: 32px 25px 50px 25px;\n    }\n        #reasons-to-chose .tile{\n            width: auto;\n        }\n        #reasons-to-chose .tiles{\n            flex-direction: column;\n        }\n        #reasons-to-chose .button_empty span::after{\n            content: \"Learn more\";\n        }\n    }\n    \n    <\/style>\n    \n    <section id=\"reasons-to-chose\">\n    <div class=\"section-container\">\n    <h3 class=\"top-text\">\n    Reasons to choose DevsData\n    <\/h3>\n    <div class=\"tiles\">\n    <div class=\"tile\">\n    <p><img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"\/wp-content\/uploads\/2020\/11\/a-players.svg\" alt=\"a players\" title=\"\"><\/p>\n    <span>Only \u201cA\u201d Players. Veteran engineers with experience in various domains.<\/span>\n    <\/div>                \n    <div class=\"tile\">\n    <p><img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"\/wp-content\/uploads\/2020\/11\/security-and-data.svg\" alt=\"security\" title=\"\"><\/p>\n    <span>Serious about security and sensitive data<\/span>\n    <\/div>                \n    <div class=\"tile\">\n    <p><img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"\/wp-content\/uploads\/2020\/11\/recent-frameworks.svg\" alt=\"meteroic app\" title=\"\"><\/p>\n    <span>Meteoric pace of development with the most recent frameworks<\/span>\n    <\/div>\n    <\/div>\n    <a href=\"\/the-way-we-are-different\/\">\n    <!-- target=\"_blank\" rel=\"noopener noreferrer\" -->\n    <button class=\"button_empty\" aria-label=\"Read more\"><span><\/span><\/button>\n    <\/a>\n    <\/div>\n    <\/section>\n<section>\n<h2>Wegnehmen<\/h2>\n<p>Dies sind einige Beispiele f\u00fcr sehr grundlegende Fragen, die Ihnen bei der Einstellung eines Javascript-Entwicklers helfen k\u00f6nnen. Wir stellen sie oft bei <a href=\"https:\/\/devsdata.com\/\" rel=\"nofollow noopener\" target=\"_blank\">DevsData<\/a>. Unsere Erfahrung zeigt jedoch, dass selbst erfahrene Javascript-Entwickler manchmal kein tiefes Verst\u00e4ndnis f\u00fcr die von ihnen verwendeten Programmiersprachen haben.<br \/>\nAber wir k\u00f6nnen nicht oft genug betonen, dass ein gutes Einstellungsverfahren auch viele andere Eigenschaften und F\u00e4higkeiten als nur die Kenntnis von Programmiersprachen testen sollte. Wenn Sie einen Full-Stack-Entwickler oder einen Javascript-Entwickler einstellen m\u00f6chten oder selbst ein Javascript-Entwickler sind, helfen Ihnen die obigen Beispiele hoffentlich bei der Vorbereitung auf Ihr bevorstehendes Vorstellungsgespr\u00e4ch, entweder als Interviewer oder als Bewerber.<\/p>\n<p><span class=\"img-container\"><picture><source srcset=\"\/wp-content\/uploads\/2020\/05\/Javascript-meme.webp\" type=image\/webp><source srcset=\"\/wp-content\/uploads\/2020\/05\/Javascript-meme.jpg\" type=image\/jpg><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" src=\"\/wp-content\/uploads\/2020\/05\/Javascript-meme.jpg\" alt=\"Meme about Javascript\" width=\"600\" height=\"398\" title=\"\"><\/picture><span class=\"pic-caption\">Obwohl Javascript sehr beliebt und wichtig ist, hat es sich in der Branche viele Feinde gemacht.<\/span><\/span><\/p>\n<\/section>\n<section>\n<h2>Kontaktieren Sie uns, um einen Javascript-Entwickler zu beauftragen<\/h2>\n<p>Wenn Sie Hilfe bei der Einstellung von Javascript-Entwicklern oder bei der Einstellung eines professionellen Full-Stack-, Front-End- oder Back-End-<a href=\"https:\/\/devsdata.com\/hire-software-engineer\/\" rel=\"nofollow noopener\" target=\"_blank\">Software-Ingenieurs,<\/a> ben\u00f6tigen oder ein Technologieprojekt entwickeln m\u00f6chten, wenden Sie sich an DevsData.<br \/>\nDevsData LLC ist eine IT-Beratungs- und Personalvermittlungsagentur mit Sitz in New York City und Europa. Ausgestattet mit Ingenieuren auf Google-Niveau verf\u00fcgen wir \u00fcber die F\u00e4higkeiten, Erfahrung und Ressourcen, um komplexe, personalisierte Systeme aufzubauen, die Ihr Finanzgesch\u00e4ft wachsen lassen. Kontaktieren Sie uns noch heute.<br \/>\n<\/section>\n<p>\n        <section class=\"author_section_container\">\n            \n            <p class=\"contact_on_twitter\">\n                Any questions or comments? Let me know on \n                <a href=\"https:\/\/twitter.com\/tompotanski\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Twitter\/X<\/a>.\n            <\/p> \n        \n            <div class=\"schedule-consultation\">\n                <div class=\"block-contact\">\n                    <p>Discover how IT recruitment and staffing can address your talent needs. Explore trending regions \n        like Poland, Portugal, Mexico, Brazil and more. <\/p>\n                <\/div>\n                <div class=\"contact-us-show schedule-consultation-button\">\n                    \ud83d\uddd3\ufe0f\n                    <span>Schedule a consultation<\/span>\n                <\/div>\n            <\/div>\n            <div class=\"author_section\">\n                <div class=\"author_photo_container\">\n                    <picture>\n                        <source srcset=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.webp\" type=\"image\/webp\"> \n                        <source srcset=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.jpg\" type=\"image\/jpeg\">\n                        <img decoding=\"async\" class=\"avatar lazyload\" width=\"64\" height=\"64\" src=\"https:\/\/staging.devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.jpg\" alt=\"avatar\" loading=\"lazy\" title=\"Tom Potanski\" >\n                    <\/picture>\n                    <a class=\"read_full_bio\" href=\"\/author\/tom-potanski\/\" aria-label=\"Read more from Tom Potanski\">Read full bio<\/a>\n                <\/div>\n                <div class=\"author_info_container\">\n                    <div class=\"author_info\" data-role=\"Author\">\n                        <h4 id=\"author_title\">\n                            <a href=\"\/author\/tom-potanski\/\" aria-label=\"Read more from Tom Potanski\">Tom Potanski<\/a>\n                            <span class=\"position\">Managing Director<\/span>\n                        <\/h4>\n                    <\/div>\n                <\/div>\n                <div class=\"author_about\">\n                    <span>Tom is a passionate and experienced technology leader with 12 years of commercial experience in software and technology. His focus is on merging business with technology to help American clients find top technical talent in Europe and Latin America. He leverages industry insights and strategic thinking to connect companies with the right professionals, building lasting client relationships.<\/span>\n                    <div class=\"links\">\n                        <ul class=\"author_socials\">\n            <li>\n                <a href=\"https:\/\/www.linkedin.com\/in\/tompotanski\/\" aria-label=\"Check out Tom Potanski on LinkedIn\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n                    <svg version=\"1.0\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" aria-hidden=\"true\">\n                        <g id=\"linkedin5_layer\">\n                            <path d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\" data-hs-event-238572417=\"1\"><\/path>\n                        <\/g>\n                    <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"https:\/\/twitter.com\/tompotanski\" aria-label=\"Check out Tom Potanski on Twitter\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n                    <svg viewBox=\"0 0 512 512\" class=\"scriptlesssocialsharing__icon twitter\" fill=\"currentColor\" height=\"1em\" width=\"1em\" aria-hidden=\"true\" focusable=\"false\" role=\"img\">\n                        <path d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"><\/path>\n                    <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"https:\/\/www.crunchbase.com\/person\/tom-potanski\" aria-label=\"Check out Tom Potanski on Chrunchbase\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"currentColor\" width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\">\n                        <title>Crunchbase icon<\/title>\n                        <path d=\"M21.6 0H2.4A2.41 2.41 0 0 0 0 2.4v19.2A2.41 2.41 0 0 0 2.4 24h19.2a2.41 2.41 0 0 0 2.4-2.4V2.4A2.41 2.41 0 0 0 21.6 0zM7.045 14.465A2.11 2.11 0 0 0 9.84 13.42h1.66a3.69 3.69 0 1 1 0-1.75H9.84a2.11 2.11 0 1 0-2.795 2.795zm11.345.845a3.55 3.55 0 0 1-1.06.63 3.68 3.68 0 0 1-3.39-.38v.38h-1.51V5.37h1.5v4.11a3.74 3.74 0 0 1 1.8-.63H16a3.67 3.67 0 0 1 2.39 6.46zm-.223-2.766a2.104 2.104 0 1 1-4.207 0 2.104 2.104 0 0 1 4.207 0z\"\/>\n                    <\/svg>\n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"https:\/\/medium.com\/@tompotanski\" aria-label=\"Check out Tom Potanski on Medium\" target=\"_blank\" rel=\"nofollow noreferrer noopener\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" width=\"800px\" height=\"800px\" viewBox=\"0 -55 256 256\" version=\"1.1\" preserveAspectRatio=\"xMidYMid\">\n                        <g>\n                            <path d=\"M72.2009141,1.42108547e-14 C112.076502,1.42108547e-14 144.399375,32.5485469 144.399375,72.6964154 C144.399375,112.844284 112.074049,145.390378 72.2009141,145.390378 C32.327779,145.390378 0,112.844284 0,72.6964154 C0,32.5485469 32.325326,1.42108547e-14 72.2009141,1.42108547e-14 Z M187.500628,4.25836743 C207.438422,4.25836743 223.601085,34.8960455 223.601085,72.6964154 L223.603538,72.6964154 C223.603538,110.486973 207.440875,141.134463 187.503081,141.134463 C167.565287,141.134463 151.402624,110.486973 151.402624,72.6964154 C151.402624,34.9058574 167.562834,4.25836743 187.500628,4.25836743 Z M243.303393,11.3867175 C250.314,11.3867175 256,38.835526 256,72.6964154 C256,106.547493 250.316453,134.006113 243.303393,134.006113 C236.290333,134.006113 230.609239,106.554852 230.609239,72.6964154 C230.609239,38.837979 236.292786,11.3867175 243.303393,11.3867175 Z\" fill=\"currentColor\"><\/path>\n                        <\/g>\n                    <\/svg>    \n                <\/a>\n            <\/li>\n            <li>\n                <a href=\"mailto:tom.potanski@devsdata.com\" aria-label=\"Email Tom Potanski\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"\/><\/svg>\n                <\/a>\n            <\/li><\/ul>\n                        <a class=\"recruitment_link\" href=\"\/recruitment\/\" target=\"_blank\" rel=\"noopener noreferrer\">\n                            Read more about our IT staffing services\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"https:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M5 12H19\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                                <path d=\"M12 5L19 12L12 19\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                            <\/svg>\n                        <\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"tags-author \">\n                \n            <\/div>\n        <\/section>\n    <br \/>\n<script>\nconst faq = {\n    \"Was macht ein Javascript-Entwickler?\": {\n        \"Answer\": 'In der Regel arbeitet ein JavaScript-Entwickler am Front-End-Teil des Systems, aber es ist nicht ungew\u00f6hnlich, dass JavaScript f\u00fcr die Entwicklung von Back-End-Webanwendungen verwendet wird, wie oben erw\u00e4hnt (insbesondere mit Tools wie Node.js, Express und PM2).'\n    },\n    \"Was ist JavaScript?\": {\n        \"Answer\": 'JavaScript (JS) ist eine Programmiersprache, die am h\u00e4ufigsten f\u00fcr die Webentwicklung verwendet wird (und seit kurzem auch sehr beliebt f\u00fcr die Entwicklung von Mobilger\u00e4ten sowie auf der Serverseite ist). Die JavaScript-Entwicklung erm\u00f6glicht es einer Website, dynamische Inhalte auszuf\u00fchren, Bilder zu animieren, Multimedia zu steuern, mit den Servern zu kommunizieren, Informationen zu verarbeiten und vieles mehr.'\n    },\n    \"Welche F\u00e4higkeiten sollte ein JavaScript-Entwickler haben?\": {\n        \"Answer\": 'Es gibt bestimmte Kriterien, die ein potenzieller JavaScript-Entwickler erf\u00fcllen sollte. Ein starkes Interesse am Lernen und an der Webentwicklung sollte auf jeden Fall auf der Checkliste stehen. Ein JavaScript-Entwickler sollte auch mit JavaScript-Frameworks vertraut sein, die unbedingt erforderlich sind, um die Sprache zu beherrschen.'\n    },\n    \"Was sind anonyme Funktionen?\": {\n        \"Answer\": 'Anonyme Funktionen werden auch als Arrow-Funktionen bezeichnet. Es handelt sich um eine Funktion ohne Namen. Am h\u00e4ufigsten werden sie als Argument an eine andere Funktion \u00fcbergeben oder zum Erstellen des Ergebnisses einer Funktion h\u00f6herer Ordnung verwendet, die eine Funktion zur\u00fcckgeben muss.'\n    },\n    \"Was ist ein Generator in JavaScript?\": {\n        \"Answer\": 'Generatorfunktionen erm\u00f6glichen die Definition eines iterativen Algorithmus durch Schreiben einer einzelnen Funktion, deren Ausf\u00fchrung nicht kontinuierlich ist. Sie werden mit der Funktion*-Syntax geschrieben. Bei einem Aufruf f\u00fchrt der Generator ihren Code nicht aus, sondern gibt einen speziellen Iteratortyp zur\u00fcck, der als Generator bezeichnet wird.'\n    },\n    \"Was ist Event Bubbling?\": {\n        \"Answer\": 'Event Bubbling bedeutet, dass ein Ereignis vom innersten verschachtelten HTML-Element aus die DOM-Hierarchie hinaufwandert, bis es das Element erreicht, das auf das Ereignis wartet. Es beginnt beim tiefsten Element und geht dann zu seinen Eltern und dann zu all seinen Vorfahren, die sich auf dem Weg von unten nach oben befinden.'\n    },\n    \"Was ist negative Unendlichkeit in JavaScript?\": {\n        \"Answer\": 'Die negative Unendlichkeit ist ein konstanter Wert, der verwendet wird, um einen Wert darzustellen, der der niedrigste verf\u00fcgbare ist. Das bedeutet, dass keine andere Zahl kleiner ist als dieser Wert. Sie kann mithilfe einer selbst erstellten Funktion oder durch eine arithmetische Operation generiert werden. JS zeigt negative Unendlichkeit als Wert als \u2018-Infinity\u2018 an.'\n    },\n    \"Was ist ein Versprechen in JavaScript?\": {\n        \"Answer\": 'Es handelt sich um ein Objekt, das synchron von einer asynchronen Funktion zur\u00fcckgegeben werden kann. Sie sind einfach zu verwalten, wenn es um mehrere asynchrone Vorg\u00e4nge geht, bei denen R\u00fcckrufe eine R\u00fcckruffalle erzeugen k\u00f6nnen, die zu un\u00fcberschaubarem Code f\u00fchrt. Die Verwendung von Versprechen verbessert die Lesbarkeit des Codes, die Handhabung asynchroner Vorg\u00e4nge und die Definition des Kontrollflusses in asynchroner Logik.'\n    },\n    \"Was ist Hoisting in JavaScript?\": {\n        \"Answer\": 'Hoisting ist das Konzept, bei dem JavaScript standardm\u00e4\u00dfig alle Deklarationen an den Anfang des aktuellen G\u00fcltigkeitsbereichs verschiebt. Daher kann eine Variable verwendet werden, bevor sie deklariert wurde. Beachten Sie, dass JavaScript nur Deklarationen und keine Initialisierungen hoistet.'\n    },\n    \"Was ist ein Closure in JavaScript?\": {\n        \"Answer\": 'Ein Closure ist eine innere Funktion, die Zugriff auf die Variablen in der \u00e4u\u00dferen (umschlie\u00dfenden) Funktionsbereichskette hat. Das Closure hat Zugriff auf Variablen in drei Bereichen, insbesondere auf Variablen in seinem eigenen Bereich, Variablen im Bereich der umschlie\u00dfenden Funktion und globale Variablen.'\n    }\n}\n<\/script><br \/>\n\n\n    <style>\n        .accordion-box .heading {\n            text-align: center;\n        }\n    \n        .accordion-box p {\n            margin: 0;\n            padding: 0;\n        }\n    \n        .accordion-box .accordion {\n            white-space: unset;\n            background: none;\n            cursor: pointer;\n            padding: 24px 34px 0px 34px;\n            width: 100%;\n            text-align: left;\n            outline: none;\n            transition: 0.4s;\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: normal;\n            font-size: 18px;\n            line-height: 28px;\n            letter-spacing: 0.02em;\n            color: #000;\n            border: none;\n            display: flex;\n            justify-content: space-between;\n            margin-bottom: 10px;\n        }\n\n        .accordion-box .accordion:focus{\n            box-shadow:none !important;\n        }\n    \n        .accordion-box hr {\n            margin: 20px 32px 0px 32px;\n        }\n    \n        .accordion-box .panel {\n            padding: 0 34px 0px 34px;\n            \/* background-color: white; *\/\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.2s ease-out;\n        }\n    \n        .accordion-box .panel p {\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: normal;\n            font-size: 16px;\n            line-height: 28px;\n            letter-spacing: 0.02em;\n            color: #6D7082;\n            text-align: left;\n        }\n\n        .panel span.list-element {\n            display: block;\n            margin-left: 20px;\n            position: relative;\n        }\n\n        .panel span.list-element::before {\n            content: \"\u2022\";\n            position: absolute;\n            left: -15px;\n        }\n    \n        .accordion-box {\n            background: linear-gradient(284.5deg, #ECEEF4 22.15%, rgba(243, 243, 243, 0.15) 89.47%);\n            padding-bottom: 64px;\n            border-radius: 8px;\n        }\n    \n        .accordion-box .heading {\n            font-family: Montserrat;\n            font-style: normal;\n            font-weight: bold;\n            font-size: 32px;\n            line-height: 42px;\n            letter-spacing: 0.02em;\n            color: #000000;\n            vertical-align: middle;\n            padding: 64px 34px;\n        }\n    \n        .accordion-box .heading img {\n            margin-right: 15px;\n            position: relative;\n            top: 5px;\n        }\n    \n        .accordion-box .arrow {\n            transition: 0.2s;\n            padding: 8px;\n        }\n    \n        .accordion-box .rotate90 {\n            transform: rotate(180deg);\n        }\n    <\/style>\n    <div class=\"accordion-box\" id=\"accordion-box\">\n        <p class=\"heading\"><img loading=\"lazy\" decoding=\"async\" width=\"32\" height=\"32\" src=\"\/wp-content\/themes\/intentionally-blank\/assets\/img\/global\/faq.svg\" alt=\"virtual assistance\" title=\"\">Frequently asked questions (FAQ)<\/p>\n        <div id=\"accordion-elements\">\n    \n        <\/div>\n    <\/div>\n    \n    <script>\n    if (typeof faq !== \"undefined\" && !window.ddFaq) { window.ddFaq = faq; }\n    const container = document.getElementById(`accordion-elements`);\n    let ind = 0\n    for(i in window.ddFaq){\n        try{\n            let innerEl = \"\";\n            if(ind < 3) {\n                innerEl=` <hr \/><button class=\"accordion active\">${i}<span class=\"arrow rotate90\"><img decoding=\"async\" src=\"https:\/\/www.devsdata.com\/wp-content\/uploads\/2020\/07\/Vector.png\" alt=\"arrow\" \/><\/span><\/button> <div class=\"panel\" style=\"max-height: unset;\"><p>${Object.values(window.ddFaq[i])[0]}<\/p><\/div>`;\n            } else {\n                innerEl=` <hr \/><button class=\"accordion\">${i}<span class=\"arrow\"><img decoding=\"async\" src=\"https:\/\/www.devsdata.com\/wp-content\/uploads\/2020\/07\/Vector.png\" alt=\"arrow\" \/><\/span><\/button> <div class=\"panel\"><p>${Object.values(window.ddFaq[i])[0]}<\/p><\/div>`;\n            }\n            container.insertAdjacentHTML(\"beforeend\", innerEl);\n            ind++;\n        }\n        catch(err){\n            console.log(err);\n        }\n        \n    }\n    \n        window.addEventListener(`DOMContentLoaded`, (event) => {\n            const acc = document.getElementsByClassName(\"accordion\");\n            let i;\n            for (i = 0; i < acc.length; i++) {\n                if(i < 3) {\n                    acc[i].nextElementSibling.style.maxHeight = acc[i].nextElementSibling.scrollHeight + \"px\";\n                }\n                acc[i].addEventListener(\"click\", function () {\n                    this.classList.toggle(\"active\");\n                    let panel = this.nextElementSibling;\n                    let arrow = this.childNodes[1];\n                    if (panel.style.maxHeight) {\n                        panel.style.maxHeight = null;\n                        arrow.classList.remove(`rotate90`)\n                    } else {\n                        panel.style.maxHeight = panel.scrollHeight + \"px\";\n                        arrow.classList.add(`rotate90`)\n                    }\n    \n    \n                });\n            }\n        });\n    <\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Einstellen eines JavaScript-Entwicklers Einfache Interviewfragen, mit denen die meisten Kandidaten zu k\u00e4mpfen haben. Schon oft hat Technologie den Weg f\u00fcr den Erfolg von Unternehmen in der modernen Welt geebnet. Ihr Einfluss ist unbestreitbar. Von station\u00e4ren Gesch\u00e4ften bis hin zu digitalen Firmen haben sich alle an das digitale Zeitalter angepasst (oder sind gerade dabei, dies zu [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":47944,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"blog_post.php","format":"standard","meta":{"footnotes":""},"categories":[6,4],"tags":[],"class_list":["post-88054","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-german"],"acf":[],"_links":{"self":[{"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/posts\/88054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/comments?post=88054"}],"version-history":[{"count":5,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/posts\/88054\/revisions"}],"predecessor-version":[{"id":88059,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/posts\/88054\/revisions\/88059"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/media\/47944"}],"wp:attachment":[{"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/media?parent=88054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/categories?post=88054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.devsdata.com\/de\/wp-json\/wp\/v2\/tags?post=88054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}