{"id":101551,"date":"2025-03-14T21:55:44","date_gmt":"2025-03-14T18:25:44","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/javascript-linked-objects-41di\/"},"modified":"2025-03-14T21:55:44","modified_gmt":"2025-03-14T18:25:44","slug":"javascript-linked-objects-41di","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/javascript-linked-objects-41di\/","title":{"rendered":"JavaScript: \u0627\u0634\u06cc\u0627\u0621 \u067e\u06cc\u0648\u0646\u062f\u06cc &#8211; \u062c\u0627\u0645\u0639\u0647 dev"},"content":{"rendered":"<div data-article-id=\"2333296\" id=\"article-body\">\n<p>\u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u060c \u0645\u0646 \u062f\u0631 \u062a\u0644\u0627\u0634 \u0628\u0648\u062f\u0647 \u0627\u0645 \u062a\u0627 JavaScript \u0631\u0627 \u0628\u0627 \u0647\u062f\u0641 \u062a\u062d\u0648\u0644 \u0646\u062d\u0648\u0647 \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u060c \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u06cc\u062f\u0647 \u0647\u0627 \u0648 \u0633\u0627\u062e\u062a\u0646 \u0645\u0637\u0627\u0644\u0628 \u0628\u0647\u062a\u0631 \u062f\u0631\u06a9 \u06a9\u0646\u0645. <\/p>\n<p>\u0645\u0646 \u063a\u0627\u0644\u0628\u0627\u064b \u0686\u06cc\u0632\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u062b\u06cc\u0631 \u0622\u0646 \u0634\u0646\u06cc\u062f\u0647 \u0627\u0645 \u060c &#8220;JavaScript \u06a9\u0644\u0627\u0633 \u062f\u0627\u0631\u062f \u060c \u0627\u0645\u0627 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u06a9\u0644\u0627\u0633 \u0646\u06cc\u0633\u062a&#8221;. \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0627\u06cc\u0646 \u062f\u0644\u0627\u0644\u062a \u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u0627\u0633 \u0647\u0627 \u0628\u0647 \u062c\u0627\u06cc \u067e\u0630\u06cc\u0631\u0634 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0622\u0646\u0686\u0647 \u06a9\u0647 \u0647\u0633\u062a \u060c &#8220;\u062e\u0645&#8221; \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0635\u062d\u06cc\u062d \u0628\u0627\u0634\u062f \u0627\u062d\u0633\u0627\u0633 \u0645\u06cc \u0634\u0648\u062f \u060c \u0627\u0645\u0627 \u0645\u0646 \u062f\u0631\u06a9 \u0646\u06a9\u0631\u062f\u0645 \u0632\u06cc\u0631\u0627 &#8230; \u062e\u0648\u0628 JavaScript \u06a9\u0644\u0627\u0633 \u062f\u0627\u0631\u062f. \u0648 \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0632\u0628\u0627\u0646 \u0645\u0646 \u0628\u0648\u062f. \u0645\u0646 \u06cc\u0627\u062f \u0646\u06af\u0631\u0641\u062a\u0645 \u062c\u0627\u0648\u0627 \u06cc\u0627 \u062d\u062a\u06cc \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0646\u062a\u06cc \u0639\u0644\u0648\u0645 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u0648\u0633\u0633\u0647 \u0686\u0647\u0627\u0631 \u0633\u0627\u0644\u0647 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0646\u0645. <\/p>\n<p>\u0633\u0631\u0627\u0646\u062c\u0627\u0645 \u060c \u0645\u0646 \u062f\u0631 \u0645\u0639\u0631\u0636 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f JavaScript \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0645 <code>Object.prototype<\/code>\u0628\u0634\u0631 \u0627\u06cc\u0646 \u0634\u06cc\u0621 \u0628\u0632\u0631\u06af \u0648 \u0627\u062c\u062f\u0627\u062f\u06cc \u062f\u0631 \u0628\u0627\u0644\u0627\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647 \u0646\u0645\u0648\u0646\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u06a9\u0647 \u0627\u0632 \u062e\u0648\u0627\u0635 \u0648 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0628\u0647 \u0627\u0634\u06cc\u0627\u0621 \u062f\u06cc\u06af\u0631 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u0634\u0648\u062f. \u0647\u0645\u0647 \u0686\u06cc\u0632 \u06a9\u0645\u06cc \u0648\u0627\u0636\u062d \u062a\u0631 \u0634\u062f \u060c \u0627\u0645\u0627 \u0647\u0646\u0648\u0632 \u0647\u0645 \u0646\u0648\u0639\u06cc \u06af\u06cc\u062c \u06a9\u0646\u0646\u062f\u0647 \u0628\u0648\u062f. \u0648\u0631\u0627\u062b\u062a \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u06cc\u062f \u062e\u0646\u06a9 \u0627\u0633\u062a \u060c \u0627\u0645\u0627 \u0628\u062f\u0648\u0646 \u062a\u0641\u0627\u0648\u062a \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062a\u0645\u0627\u06cc\u0632 \u0627\u062d\u0633\u0627\u0633 \u0645\u06cc \u0634\u0648\u062f. <\/p>\n<p>\u0633\u067e\u0633 \u060c \u0645\u0646 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u06af\u0627\u0647 \u0631\u0627 \u062a\u0648\u0633\u0637 \u06a9\u0627\u06cc\u0644 \u0633\u06cc\u0645\u067e\u0633\u0648\u0646 \u0646\u0648\u06cc\u0633\u0646\u062f\u0647 \u0633\u0631\u06cc\u0627\u0644 JavaScript Series You Know \u062a\u0645\u0627\u0634\u0627 \u06a9\u0631\u062f\u0645. \u0627\u0648 \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u067e\u06cc\u0648\u0646\u062f \u062f\u0627\u062f\u0646 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0647 \u0647\u0645 \u0628\u062f\u0648\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>new<\/code> \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u06cc\u0627 \u0642\u0646\u062f \u0646\u062d\u0648\u06cc \u06a9\u0647 \u0647\u0633\u062a <code>class<\/code>\u0628\u0634\u0631 <\/p>\n<p>\u0645\u0646 \u0634\u06cc\u0641\u062a\u0647 \u0634\u062f\u0645. \u0645\u0646 \u0645\u06cc \u062e\u0648\u0627\u0633\u062a\u0645 \u0622\u0646 \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u0645. \u0645\u0646 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062e\u0648\u0627\u0633\u062a\u0645 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u0622\u0646\u0686\u0647 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0647 \u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0646 \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u06a9\u0627\u0631\u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0644\u06af\u0648\u06cc \u06a9\u0627\u0631\u062e\u0627\u0646\u0647 \u0648 \u0627\u0634\u06cc\u0627\u0621 \u0645\u0631\u062a\u0628\u0637 \u060c \u0645\u0646\u0637\u0642\u06cc \u0646\u0648\u0634\u062a\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>var TaskType = {\n    TODO: \"To Do\", \n    IN_PROGRESS: \"In Progress\", \n    COMPLETED: \"Completed\"\n}\n\nvar Task = {\n    logTaskInfo(){\n        console.log(`Title: ${this.title} | Details: ${this.details} | Status: ${this.status}`)\n    }\n}\n\nfunction TaskFactory(){\n    return createTask; \n\n    function createTask(type, title, details){\n        var isInvalidType = !Object.values(TaskType).includes(type); \n        if(isInvalidType){\n            throw new Error('Invalid Task Type')\n        }\n        return Object.assign(Object.create(Task), {\n            title, \n            details, \n            status: type\n        })\n    }\n}\n\nvar factory = TaskFactory(); \n\nvar task1 = factory(TaskType.TODO, \"Wash Dishes\", \"Load the dishwasher and scrub large pots and pans.\"); \nvar task2 = factory(TaskType.IN_PROGRESS, \"Write Code\", \"Apply newly acquired concepts like IFFE, Factory and OLOO\"); \nvar task3 = factory(TaskType.COMPLETED, \"Walk Dog\", \"Take Soleil out for her morning walk.\"); \n\ntask1.logTaskInfo(); \ntask2.logTaskInfo(); \ntask3.logTaskInfo(); \n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0632 TC39 \u060c  <code>Object.assign ( target, ...sources )<\/code> \u0645\u0642\u0627\u062f\u06cc\u0631 \u06a9\u0644\u06cc\u0647 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u0645\u0646\u0628\u0639 \u0645\u0646\u0628\u0639 \u0628\u0647 \u06cc\u06a9 \u0647\u062f\u0641 \u0647\u062f\u0641 \u06a9\u067e\u06cc \u0645\u06cc \u06a9\u0646\u062f. \u0648\u062a <code>Object.create ( O, Properties )<\/code> \u06cc\u06a9 \u0634\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0645\u0634\u062e\u0635 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u060c \u0628\u0627 \u0627\u06cc\u0646 \u062e\u0637\u0648\u0637 \u06a9\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>Object.assign(Object.create(Task), {\n            title, \n            details, \n            status: type\n        })\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><code>Object.Create(Task)<\/code>  \u06cc\u06a9 \u0634\u06cc\u0621 \u06a9\u0627\u0645\u0644\u0627\u064b \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0645\u0648\u062c\u0648\u062f \u067e\u06cc\u0648\u0646\u062f \u0645\u06cc \u062f\u0647\u062f <code>Task<\/code> \u0634\u06cc\u0621. \u0648 \u0622\u0646 \u0634\u06cc\u0621 \u0628\u0627 \u0646\u0627\u0645 \u062a\u062c\u0627\u0631\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u060c \u062c\u0632\u0626\u06cc\u0627\u062a \u0648 \u0648\u0636\u0639\u06cc\u062a \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u062d\u0627\u0644\u0627 \u060c \u06a9\u06cc <code>task1<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>logTaskDetails<\/code> \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0632\u06cc\u0631\u0627 <code>logTaskDetails<\/code> \u062f\u0631 \u0634\u06cc\u0626\u06cc \u06a9\u0647 Task1 \u0628\u0647 \u0622\u0646 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.<\/p>\n<p>\u062e\u0648\u0628 \u060c &#8220;\u062e\u06cc\u0644\u06cc \u0628\u0627\u062d\u0627\u0644&#8221; \u060c \u0645\u0646 \u0641\u06a9\u0631 \u06a9\u0631\u062f\u0645. \u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0631\u0627 \u0645\u0637\u0631\u062d \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0635\u0631\u06cc\u062d \u062a\u0631 \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0686\u06cc\u0632\u06cc \u0645\u0627\u0646\u0646\u062f <code>new<\/code> \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u060c \u0627\u0645\u0627 \u0686\u0647 \u0686\u06cc\u0632 \u0628\u0632\u0631\u06af\u06cc \u0627\u0633\u062a\u061f \u0627\u0645\u0627 \u067e\u0633 \u0627\u0632 \u0622\u0646 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062c\u0627\u0644\u0628 \u0634\u062f. <\/p>\n<p>\u0627\u06cc\u0646 \u0633\u0628\u06a9 \u0628\u0647 \u067e\u0627\u06cc\u0647 \u0648 \u0627\u0633\u0627\u0633 \u0647\u06cc\u0626\u062a \u0631\u0641\u062a\u0627\u0631 \u06cc\u0627 &#8220;\u062a\u0631\u06a9\u06cc\u0628 \u067e\u0648\u06cc\u0627&#8221; \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u0634\u0648\u062f. \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 \u0646\u06af\u0631\u0627\u0646\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0627 \u0647\u0645 \u062f\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0647\u0633\u062a\u0646\u062f \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0631\u0648\u0634 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0645\u062a\u0631 \u0627\u0632 \u0628\u0627\u0644\u0627 \u0628\u0647 \u067e\u0627\u06cc\u06cc\u0646 \u0648 \u0647\u0645\u062a\u0627 \u0628\u0647 \u0647\u0645\u062a\u0627 \u062a\u0631 \u0627\u0633\u062a.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u062b\u0627\u0644\u06cc \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0633\u06cc\u0645\u067e\u0633\u0648\u0646 \u0628\u0627 \u06cc\u06a9 AuthController \u0648 LogInformController \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>var AuthController = {\n    authenticate(){\n        server.authenticate(\n            [this.username, this.password], this.handleResponse.bind(this)\n        )\n    },\n    handleResponse(resp){\n        if(!resp.OK){\n            this.displayError(resp.msg); \n        }\n    }\n}\n\nvar LoginFormController = Object.assign(\n    Object.create(AuthController), \n    {\n        onSubmit(){\n            this.username = this.$username.val(); \n            this.password = $this.$password.val();\n            this.authenticate() \n        }, \n        displayError(msg){\n            alert(msg)\n        }\n    }\n)\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0646 \u0641\u06a9\u0631 \u06a9\u0631\u062f\u0645 \u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0648\u0627\u0642\u0639\u0627\u064b \u062c\u0627\u0644\u0628 \u0627\u0633\u062a \u060c \u0627\u06af\u0631\u0686\u0647 \u0645\u062c\u0628\u0648\u0631 \u0634\u062f\u0645 \u0686\u0646\u062f \u0628\u0627\u0631 \u06a9\u062f \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u0645 \u062a\u0627 \u0628\u0641\u0647\u0645\u0645 \u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u06cc \u0627\u0641\u062a\u0627\u062f\u0647 \u0627\u0633\u062a. <\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u060c \u0628\u0647 \u0647\u0645\u0627\u0646 \u0631\u0648\u0634\u06cc \u06a9\u0647 <code>task1<\/code> \u0628\u0647 <code>Task<\/code> \u0647\u062f\u0641 <code>LoginFormController<\/code> \u0628\u0647 <code>AuthController<\/code>\u0628\u0634\u0631 \u0648\u0642\u062a\u06cc \u0641\u0631\u0645 \u0648\u0631\u0648\u062f \u062e\u06cc\u0627\u0644\u06cc \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f \u060c <code>LoginFormController's<\/code> <code>onSubmit<\/code>  \u0631\u0648\u0634 \u0646\u0627\u0645\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0631\u0648\u0646 <code>onSubmit<\/code> \u062f\u0631 <code>authenticate()<\/code> \u0631\u0648\u0634 \u0646\u0627\u0645\u06cc\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. <\/p>\n<p><code>LoginFormController<\/code>  \u0631\u0648\u0634 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0646\u062f\u0627\u0631\u062f \u060c \u0627\u0645\u0627 \u0634\u06cc\u0626\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a (<code>AuthController<\/code>) \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u060c \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0627 <code>this<\/code> \u0647\u0646\u0648\u0632 \u0647\u0645 \u0645\u0631\u0627\u062c\u0639\u0647 \u0628\u0647 <code>LoginFormController<\/code>\u0628\u0634\u0631 \u062f\u0631\u0648\u0646 <code>authenticate<\/code>\u0628\u0627 <code>this.username<\/code> \u0648\u062a <code>this.password<\/code> \u0647\u0646\u0648\u0632 \u0647\u0645 \u0628\u0647 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a <code>LoginFormController<\/code> \u0648 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u067e\u0627\u0633\u062e \u0628\u0647 \u0633\u0631\u0648\u0631 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f <code>handleResponse<\/code>\u0628\u0634\u0631 \u062d\u0627\u0644\u0627 \u060c <code>handleResponse<\/code> \u0645\u0642\u06cc\u062f \u0627\u0633\u062a <code>LoginFormController<\/code> \u0628\u0627 <code>.bind<\/code> \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0645\u0646\u062a\u0642\u0644 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u062e\u0648\u0627\u0646\u062f\u0647 \u0634\u0648\u062f \u060c \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0632 \u0627\u0634\u0627\u0631\u0647 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f <code>LoginFormController<\/code> \u062d\u062a\u06cc \u0627\u06af\u0631 \u0627\u06cc\u0646 \u062c\u0627\u06cc\u06cc \u0646\u06cc\u0633\u062a \u06a9\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a. \u06a9\u06cc <code>handleResponse<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u060c \u0627\u06af\u0631 \u067e\u0627\u0633\u062e \u0627\u0634\u06a9\u0627\u0644\u06cc \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u060c \u067e\u0633 \u0622\u0646 \u0631\u0627 \u0635\u062f\u0627 \u0645\u06cc \u06a9\u0646\u062f <code>display<\/code> \u0631\u0648\u0634 <code>display<\/code> \u062f\u0627\u0631\u0627\u06cc a <code>this<\/code> \u0627\u06cc\u0646 \u0645\u0646\u0627\u0628\u0639 <code>LoginController<\/code> \u0686\u0648\u0646 \u0627\u06cc\u0646 \u0628\u0648\u062f <code>this<\/code> <code>handleResponse<\/code>  \u0645\u062d\u062f\u0648\u062f \u0628\u0647 <\/p>\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u060c \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647 \u060c <code>onSubmit<\/code> \u06a9\u0647 \u062f\u0631 <code>LoginController<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>authenticate<\/code> \u0631\u0648\u0634\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u062f\u0631 <code>AuthController<\/code>\u0628\u0634\u0631 <code>authenticate<\/code> \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633 \u060c <code>handleResponse<\/code>\u060c \u06a9\u0647 \u062f\u0631 \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a <code>Authcontroller<\/code>\u060c \u0627\u0645\u0627 \u0645\u062d\u062f\u0648\u062f \u0628\u0647 <code>LoginController<\/code>\u0628\u0634\u0631 \u0648\u062a <code>handleResponse<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>display<\/code> \u06a9\u0647 \u062f\u0631 logincontroller \u062a\u0639\u0631\u06cc\u0641 \u0634\u062f\u0647 \u0627\u0633\u062a. <\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0646\u0637\u0642 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062f\u0631\u06a9 \u0642\u0648\u06cc \u0627\u0632 <code>this<\/code> (\u0628\u062f\u0648\u0646 \u0647\u062f\u0641 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647). \u0648 \u062d\u062a\u06cc \u0627\u06af\u0631 \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0633\u06cc\u0627\u0631 \u062c\u0627\u0644\u0628 \u0627\u0633\u062a \u060c \u0645\u0646 \u0641\u06a9\u0631 \u0646\u0645\u06cc \u06a9\u0631\u062f\u0645 \u06a9\u0647 \u06a9\u062f \u0631\u0627 \u0627\u0632 \u0627\u06cc\u0646 \u0637\u0631\u06cc\u0642 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0647\u0645. \u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0648\u0634 \u0628\u0633\u06cc\u0627\u0631 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0632 \u062a\u0641\u06a9\u0631 \u0627\u0632 \u0622\u0646\u0686\u0647 \u0639\u0627\u062f\u062a \u06a9\u0631\u062f\u0647 \u0627\u0645 \u0627\u0633\u062a.<\/p>\n<p>\u06cc\u06a9 \u0645\u0648\u0631\u062f \u06a9\u0644\u0627\u0633\u06cc\u06a9 \u0627\u0632 &#8220;\u0631\u0648\u062d \u0645\u0627\u06cc\u0644 \u0627\u0633\u062a \u060c \u0627\u0645\u0627 \u06af\u0648\u0634\u062a \u0636\u0639\u06cc\u0641 \u0627\u0633\u062a&#8221;. \u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u062f\u0631 \u0622\u0646 \u06a9\u0627\u0631 \u06a9\u0646\u0645. <\/p>\n<p>\u062f\u0631 \u0636\u0645\u0646 \u060c \u0644\u0637\u0641\u0627\u064b \u0628\u0647 \u0645\u0646 \u0627\u0637\u0644\u0627\u0639 \u062f\u0647\u06cc\u062f \u06a9\u0647 \u0686\u0647 \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u062f. \u0622\u06cc\u0627 \u0627\u06cc\u0646 \u0633\u0628\u06a9\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0634\u0645\u0627 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u06cc\u0627 \u0639\u0644\u0627\u0642\u0647 \u0645\u0646\u062f \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0647\u0633\u062a\u06cc\u062f\u061f \u0628\u0647 \u0646\u0638\u0631 \u0634\u0645\u0627 \u06a9\u062f \u062a\u0627 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u062e\u0648\u0627\u0646\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u061f <\/p>\n<p>\u062a\u0635\u0648\u06cc\u0631 \u062a\u0648\u0633\u0637 alltechbuzz_net \u0627\u0632 Pixabay<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u060c \u0645\u0646 \u062f\u0631 \u062a\u0644\u0627\u0634 \u0628\u0648\u062f\u0647 \u0627\u0645 \u062a\u0627 JavaScript \u0631\u0627 \u0628\u0627 \u0647\u062f\u0641 \u062a\u062d\u0648\u0644 \u0646\u062d\u0648\u0647 \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f \u060c \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u06cc\u062f\u0647 \u0647\u0627 \u0648 \u0633\u0627\u062e\u062a\u0646 \u0645\u0637\u0627\u0644\u0628 \u0628\u0647\u062a\u0631 \u062f\u0631\u06a9 \u06a9\u0646\u0645. \u0645\u0646 \u063a\u0627\u0644\u0628\u0627\u064b \u0686\u06cc\u0632\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0623\u062b\u06cc\u0631 \u0622\u0646 \u0634\u0646\u06cc\u062f\u0647 \u0627\u0645 \u060c &#8220;JavaScript \u06a9\u0644\u0627\u0633 \u062f\u0627\u0631\u062f \u060c \u0627\u0645\u0627 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u06a9\u0644\u0627\u0633 \u0646\u06cc\u0633\u062a&#8221;. \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0627\u06cc\u0646 \u062f\u0644\u0627\u0644\u062a \u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06a9\u0644\u0627\u0633 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":101552,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-101551","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=101551"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/101551\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/101552"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=101551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=101551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=101551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}