{"id":65423,"date":"2024-12-25T14:23:16","date_gmt":"2024-12-25T14:23:16","guid":{"rendered":"https:\/\/devsdata.com\/?p=65423"},"modified":"2024-10-28T18:48:50","modified_gmt":"2024-10-28T18:48:50","slug":"hire-javascript-developer","status":"publish","type":"post","link":"https:\/\/devsdata.com\/de\/hire-javascript-developer\/","title":{"rendered":"Einstellung eines JavaScript-Entwicklers"},"content":{"rendered":"<section>\n<h1>Einstellung eines JavaScript-Entwicklers<\/h1>\n<p class=\"subtitle-fake-h3\">Einfache Interviewfragen, die den meisten Kandidaten Schwierigkeiten bereiten<\/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:\/\/devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.webp\" type=\"image\/webp\"> \n                        <source \n                            srcset=\"https:\/\/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:\/\/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\/intent\/user?screen_name=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:\/\/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:\/\/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:\/\/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:\/\/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\"><a href=\"\/tag\/german-articles\/\">German articles<\/a><a href=\"\/tag\/javascript\/\">JavaScript<\/a><a href=\"\/tag\/software-development\/\">Software development<\/a><a href=\"\/tag\/web-development\/\">Web Development<\/a><\/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).<\/p>\n<p>Alles, 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. Dar\u00fcber hinaus ist sie seit kurzem auch f\u00fcr die Entwicklung von Mobilger\u00e4ten sowie auf der Serverseite sehr beliebt. 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.<\/p>\n<p>\u00dcblicherweise arbeitet ein JavaScript-Entwickler am Front End 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).<\/p>\n<p>Wie Sie sehen, werden Sie, unabh\u00e4ngig von Ihrem Gesch\u00e4ftsfeld, 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 bei der Einstellung eines Javascript-Entwicklers achten?<\/h2>\n<p>Heutzutage kann es schwierig sein, einen versierten JavaScript-Entwickler einzustellen. Zwar gibt es viele JavaScript-Spezialisten mit jahrelanger Erfahrung in ihrem Lebenslauf, aber es kann sein, dass deren F\u00e4higkeiten einfach nicht den spezifischen Anforderungen Ihres Projekts entspricht.<\/p>\n<p>Wie in jedem Beruf 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. Zus\u00e4tzlich sollte er auch andere Personen aus dem Webentwicklungsteam zur Entscheidungsfindung hinzuziehen.<\/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.<\/p>\n<p>Nicht 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. Die optimalen Bewerber lesen auf den technischen Nachrichtenseiten\/Blogs dar\u00fcber, h\u00f6ren Podcasts, schauen Videos und sind in der Lage, einige der neuen Technologien selbst zu testen.<\/p>\n<p>Fragen Sie den Kandidaten f\u00fcr die Stelle als JavaScript-Entwickler nach seinen Informations- und Nachrichtenquellen. Einige Beispiel-Websites f\u00fcr JavaScript-Nachrichten sind <a href=\"https:\/\/medium.com\/dailyjs\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Medium<\/a>, <a href=\"https:\/\/changelog.com\/topic\/javascript\" rel=\"noopener nofollow\" target=\"_blank\">Changelog<\/a> und \u2013 nicht zu vergessen \u2013 <a href=\"https:\/\/thehackernews.com\/\" rel=\"noopener nofollow\" target=\"_blank\">Hacker News<\/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, die selbst den besten und erfahrensten Javascript-Entwicklern Schwierigkeiten bereiten k\u00f6nnen<\/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. Die Beantwortung dieser Fragen entscheidet, ob der Javascript-Entwickler die Qualit\u00e4ten hat, nach denen Sie <a href=\"https:\/\/devsdata.com\/looking-for-programmers\/\" target=\"_blank\" rel=\"noopener noreferrer\">suchen<\/a>.<\/p>\n<p>Man 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.<\/p>\n<p>\u00c4hnliches gilt f\u00fcr das Testen der 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.<\/p>\n<p>Unter 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 bereits 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 einfacher 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.<\/p>\n<p>Beim Aufruf f\u00fchrt der Generator ihren Code nicht aus, sondern gibt einen speziellen Iteratortyp aus, 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.<\/p>\n<p>Die Funktion kann beliebig oft aufgerufen werden und gibt jedes Mal einen neuen Generator aus. 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.<\/p>\n<p><b>Beispiel:<\/b><\/p>\n<div style=\"margin-left: 30px;\">\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);\n<\/div>\n<p><b>Ausgabe:<\/b><\/p>\n<div style=\"margin-left: 30px;\">\n10<br \/>\nchanged<br \/>\nunchanged\n<\/div>\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.<\/p>\n<p>Wir 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>Beschreiben Sie den Hauptunterschied zwischen einer `.forEach`-Schleife und einer `.map()`-Schleife und warum Sie sich f\u00fcr die eine oder die andere entscheiden w\u00fcrden.<\/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>Beschreiben Sie 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.<br \/>\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><\/p>\n<h3>Was ist die Temporal Dead Zone in ES6?<\/h3>\n<p>In ES6 werden \u201elet\u201c und \u201econst\u201c angegeben (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 Temporal Dead Zone (TDZ).<\/p>\n<p style=\"padding-left: 40px;\">\/\/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 Temporal Dead Zone, wenn \u201aaLet\u2018 deklariert und nicht zugewiesen wird.<\/p>\n<h3>Was ist ein Promise? Welche Zust\u00e4nde kann ein Promise 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 \u201eCallback Hell\u201c erzeugen k\u00f6nnen, die zu un\u00fcberschaubarem Code f\u00fchrt.<\/p>\n<p>Vor der Einf\u00fchrung von Promises wurden Ereignisse und R\u00fcckruffunktionen verwendet, die jedoch nur \u00fcber begrenzte Funktionalit\u00e4ten verf\u00fcgten und einen un\u00fcberschaubaren Code erzeugten. Mehrere R\u00fcckruffunktionen w\u00fcrden eine \u201eCallback Hell\u201c  erzeugen, die zu un\u00fcberschaubarem Code f\u00fchrt. Ereignisse waren f\u00fcr die Handhabung asynchroner Vorg\u00e4nge ungeeignet.<\/p>\n<p>Promises 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 \u201eabgelehnt\u201c. Benutzer k\u00f6nnen Callbacks anh\u00e4ngen, um den erf\u00fcllten Wert oder den Grund f\u00fcr die Ablehnung zu verarbeiten.<\/p>\n<p><b>Vorteile der Verwendung von Promises:<\/b><\/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 Hoisting in JavaScript ist<\/h3>\n<p>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 verschiebt.<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 Undefined, 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<div style=\"margin-bottom: -20px;\">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:<\/div>\n<p><a style=\"margin-bottom: 20px; cursor: default;\"><br \/>\n<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><br \/>\n<\/a><\/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. Genauer betrachtet 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.<\/p>\n<p>Wenn 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, und dies ist vielleicht der wichtigste Aspekt, ein privater Namensraum erstellt wird und dadurch potenzielle Namenskonflikte zwischen verschiedenen JavaScript-Modulen und -Bibliotheken vermieden werden.<\/p>\n<p>Ein 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:<\/p>\n<div style=\"margin-left: 30px;\">(function($) { \/* jQuery plugin code referencing $ *\/ } )(jQuery);<\/div>\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.<\/p>\n<p>Beispielsweise wird in normalem JavaScript durch die falsche Eingabe eines Variablennamens eine neue globale Variable erstellt. Im Strict Mode wird dadurch ein Fehler ausgel\u00f6st, sodass globale Variablen nicht versehentlich erstellt werden k\u00f6nnen. Im Strict Mode 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. Deshalb wird eine Funktion mit einem bestimmten \u201ethis\u201c-Wert aufgerufen \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 Constructor mit \u201enew\u201c aufgerufen wird, ist \u201ethis\u201c ein neu erstelltes Objekt, dessen Prototyp auf die Eigenschaft \u201eprototype\u201c der Constructor-Funktion 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=\"\/how-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>Zusammenfassend<\/h2>\n<p>Dies waren einige Beispiele f\u00fcr sehr grundlegende Fragen, die Ihnen bei der Einstellung eines Javascript-Entwicklers helfen k\u00f6nnen. Wir bei <a href=\"https:\/\/devsdata.com\/\" target=\"_blank\" rel=\"noopener\">DevsData LLC<\/a> stellen sie h\u00e4ufig. Unsere Erfahrung zeigt jedoch, dass es selbst erfahrenen Javascript-Entwickler manchmal an tieferem Verst\u00e4ndnis f\u00fcr die von ihnen verwendeten Programmiersprachen mangelt.<\/p>\n<p>Jedoch k\u00f6nnen wir nicht oft genug betonen, dass ein gutes Einstellungsverfahren auch viele andere Eigenschaften und F\u00e4higkeiten als die reine Kenntnis von Programmiersprachen testen sollte. Wenn Sie einen Full-Stack- oder Javascript-Entwickler einstellen m\u00f6chten oder selbst Javascript-Entwickler sind, werden Ihnen die obigen Beispiele sicherlich bei der Vorbereitung auf Ihr bevorstehendes Vorstellungsgespr\u00e4ch, entweder als Interviewer oder als Bewerber, helfen.<\/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 geeigneten Javascript-Entwickler zu finden<\/h2>\n<p>Wenn Sie Hilfe bei der Einstellung von Javascript-Entwicklern oder eines professionellen Full Stack-, Front End- oder Back End <a href=\"https:\/\/devsdata.com\/hire-software-engineer\/\" target=\"_blank\" rel=\"noopener\">Software-Ingenieurs<\/a> ben\u00f6tigen oder ein Technologieprojekt entwickeln m\u00f6chten, wenden Sie sich an DevsData LLC.<\/p>\n<p>DevsData 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:\/\/devsdata.com\/wp-content\/uploads\/2024\/11\/tompotanski-new-min.webp\" type=\"image\/webp\"> \n                        <source srcset=\"https:\/\/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:\/\/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\/intent\/user?screen_name=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                <a href=\"\/tag\/german-articles\/\">German articles<\/a><a href=\"\/tag\/javascript\/\">JavaScript<\/a><a href=\"\/tag\/software-development\/\">Software development<\/a><a href=\"\/tag\/web-development\/\">Web Development<\/a>\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 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. Dar\u00fcber hinaus ist sie seit kurzem auch f\u00fcr die Entwicklung von Mobilger\u00e4ten sowie auf der Serverseite sehr beliebt. 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 Promise 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 \u201eCallback Hell\u201c erzeugen k\u00f6nnen, die zu einem un\u00fcberschaubaren Code f\u00fchrt. Die Verwendung von Promises 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 verschiebt.'\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>Einstellung eines JavaScript-Entwicklers Einfache Interviewfragen, die den meisten Kandidaten Schwierigkeiten bereiten 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 tun). Alles, [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":65427,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"blog_post.php","format":"standard","meta":{"footnotes":"","gopublish_seo_title":"","gopublish_seo_description":""},"categories":[4],"tags":[864,251,258,252],"class_list":["post-65423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-german","tag-german-articles","tag-javascript","tag-software-development","tag-web-development"],"acf":[],"gopublish_integration":{"active":true,"seo_fields_available":true,"seo_fields":{"title":"gopublish_seo_title","description":"gopublish_seo_description"}},"_links":{"self":[{"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/posts\/65423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/comments?post=65423"}],"version-history":[{"count":0,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/posts\/65423\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/media\/65427"}],"wp:attachment":[{"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/media?parent=65423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/categories?post=65423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devsdata.com\/de\/wp-json\/wp\/v2\/tags?post=65423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}