توضیحات

OOP برگرفته از Object-Oriented Programming به معنی برنامه‌نویسی شی‌گرا میباشد. که یک الگو یا روش برنامه نویسی می باشد که اساس این الگو بر پایه اشیاء می باشد.
مفهوم OOP در اکثر زبان های برنامه نویسی وجود دارد اما در این دوره قصد داریم این مفهموم را در دنیای جاوا اسکریپت بررسی کنیم.
جاوا اسکریپت زبان برنامه‌نویسی سطح بالا است که برای ایجاد تعامل با صفحات وب به کار می‌رود. جایی که HTML و CSS ساختار اولیه و ظاهر صفحات وب را تعیین می‌کنند، جاوا اسکریپت نحوه عملکرد صفحات وب را کنترل می‌کند.
این دوره برای کسانی هست که قصد دارند یک قدم به دنیای حرفه ای جاوا اسکریپت نزدیک بشن.

دوره های پیشنهادی، بعد از گذراندن این دوره :

پیش نیاز این دوره فوق العاده :


javascript ecmascript جاوا اسکریپت اکما اسکریپت جاوااسکریپت شی گرایی javascript oop

مدرس دوره علی شیخ
مدت دوره 01:53:50
تعداد ویدیو 16

وضعیت دوره : کامل شده
قیمت دوره : 99,000 74,000 تومان
% 25 تخفیف

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • سلام وقت بخیر. برای کار در زمینه فرانت بعد از دیدن این دوره و Asynchronous میتونم برم دوره ری اکت رو ببینم؟
    چون در چارت اموزشی node js که بیشتر برای بک اند هست هم پیشنهاد دادین
    خواستم بدونم مشکلی نیست که برم و ری اکت رو ببینم؟

    • سلام وقت بخیر.
      وارد دوره ری اکت بشید در سایت و توضیحات و ویدیو معرفی دوره را مطالعه و مشاهده کنید. اونجا دوره های پیش نیاز گفته شده

  • سلام علی آقا،خیلی مخلصم
    اولا تشکر می کنم بابت آموزش های خوبتون
    ثانیا:تقریبا ۷۵درصد دوره‌ها رو خریدم اما نمی دونم چجوری باید از کد تخفیف ها استفاده کرد
    اگه راهنمائی کنید ممنون می شم.

    • شلام وقت بخیر.
      کد تخفیف نداریم.در حال حاضر درصد تخفیف داریم که روی دوره ها لحاظ شده

  • سلام ضمن تشکر از دوره خوب شما
    در جلسه 12 جاوااسکریپت OOP یک متد preventDefault() استفاده کردید در ضمن اینکه مفهوم این متد را میدانم دلیل استفاده ان در این پروژه متوجه نشدم . در صورت امکان توضیح دید.
    با تشکر فراوان از تدریس عالی شما

    • سلام وقت بخیر.
      ممنون از شما، این متد جاوااسکریت وقتی روی یک تگ اعمال بشه، مانع عملکرد ذاتی اون تگ میشه. مثلا وقتی رو یک form اعمال بشه، مانع submit شدن فرم میشه. وقتی روی یک تگ a اعمال بشه، باعث میشه اون لینک کار نکنه.
      ما برای جلوگیری از submit شدن فرم یعنی زمانیکه روی دکمه submit فرم کلیک شد درخواست به یک url و آدرس ارسال نشه و صفحه refresh نشه، استفاده کردیم. در موردش توی دوره ای جاوااسکریپت که پیش نیاز این دوره هست صحبت شده

    • سلام وقت بخیر.
      ممنون از شما و حمایتتون?
      خداروشکر دورها براتون مفید بوده

  • سلام ممنون بابت آموزش های خیلی خوبتون که بیشتر اوقات حتی رایگان و بی هیچ منفعتی ارائه میدین و ممنون از مکتبخونه که کمک کرد شما رو پیدا کنم خواهشن به همکاریتون با مکتبخونه ادامه بدین چون فک کنم خیلیا از اون طریق فرصت شناخت وبسایتتون رو پیدا میکنن

  • سلام
    استاد ببخشید من دوره js شما رو دیدم
    و می‌خوام این دوره oop و Asynchronous شما رو هم تهیه کنم ولی قبلش میخواستم بدونم از لحاظ زمان، تایم آموزش کم نیس ؟
    یعنی همین قدر که بدونیم برای ریکت یا vue کافی هست؟

    • سلام وقت بخیر.
      بله کافیه، oop برای درک شی گرایی هست و توی vue یا ری اکت استفاده نمیشه اما برای دوستانی که قصد دارند با js بیشتر اشنا بشند مناسب هست و دوره Asynchronous هم کافیه
      شما وارد دوره vue و یا react بشید توی توضیحات و ویدیو معرفی دوره درمورد پیش نیاز ها گفته شده
      چیزی که مهم هست اینکه شما تمرین و کار کنید یک دوره را و بعد وارد دوره بعدی بشید.

  • سلام استاد من یه کد زدم که توش تقریبا همه موارد مربوط به کلاس خلاصه شده برای استفاده دوستان
    نظرتون رو بگین لطفا در موردش
    ممنون

    class User {
    
    static count = 0;
    constructor(name, family, age) {
    this.name = name;
    this.family = family;
    this.age = age;
    this.userid = User.count++;
    // inner function 1
    this.show_user_age_inner_function = () => { return this.age };
    }

    //outer function // static // with / without value -------------------------

    // whit 2
    static show_user_name_static_function_with_input_value(data) {
    return data.name;
    };
    // whitout 3
    static show_message1_static_function_without_input_value() {
    return 'static function message : an';
    }

    // outer function // normal // without value always -------------------------

    // whitout 4
    show_user_family_normal_function_without_input_value() {
    return this.family;
    };
    // whitout 5
    show_message2_normal_function_without_input_value() {
    return 'normal function message : goh';
    };

    // set & get
    set user_city(city) {
    this.city = city;
    }
    get user_city() {
    return this.city;
    }
    };

    // nesting class
    class Gender extends User {
    constructor(name, family, age, gender) {
    super(name, family, age)
    this.gender = gender;
    }
    }

    // add to father => automatically add to all instance (child)
    User.prototype.country = 'iran';

    // create instances
    var user1 = new User('ali', 'sheikh', '27');
    var user2 = new User('mehdi', 'hasanpour', '35');
    var user3 = new Gender('ehsan', 'yazdi', '32', 'male');


    // console.log(user1.country);
    // console.log(user2.country);
    // console.log(user3.country)

    // console.log(user1);
    // console.log(user2);
    // console.log(user3);

    // console.log(user1.userid);
    // console.log(user2.userid);
    // console.log(user3.userid);

    // console.log(user1.show_user_age_inner_function());
    // console.log(user2.show_user_age_inner_function());
    // console.log(user3.show_user_age_inner_function());

    // console.log(User.show_user_name_static_function_with_input_value(user1))
    // console.log(User.show_user_name_static_function_with_input_value(user2))
    // console.log(User.show_user_name_static_function_with_input_value(user3))

    // console.log(user1.show_user_family_normal_function_without_input_value())
    // console.log(user2.show_user_family_normal_function_without_input_value())
    // console.log(user3.show_user_family_normal_function_without_input_value())

    // console.log(User.show_message1_static_function_without_input_value())

    // console.log(user1.show_message2_normal_function_without_input_value())
    // console.log(user2.show_message2_normal_function_without_input_value())
    // console.log(user3.show_message2_normal_function_without_input_value())


    user1.user_city = 'tehran';
    console.log(user1.city);
    //
    user2.user_city = 'ahwaz';
    console.log(user2.city);

    user3.user_city = 'karaj';
    console.log(user3.city);

    • سلام وقت بخیر.
      خیلی ممنون لطف کردید آماده و برای ما و دوستان ارسال کردید.

  • سلام آقای شیخ من دوره رو خریداری کردم و زمان برگشت به سایت با یه لودینگ خیلی طولانی روبرو شدم الان هم پول از حسابم کم شده ولی متاسفانه دوره آزاد نشده هنوز

    • سلام وقت بخیر.
      توی تلگرام پشتیباتی وب پروگ پیام بدید، مشکل براتون برطرف میشه
      webprogSupport@

  • سلام وقت بخیر
    من دارم پروژه شما رو با بوت استرپ 5 مینویسم اون تکه کدی که برای hide کردن modal استفاده کردین ارور میده.
    app.js:20 Uncaught ReferenceError: $ is not defined
    at HTMLButtonElement.changeLocation (app.js:20)
    changeLocation @ app.js:20
    توی داکیومنت ورژن 4 و 5 که نگاه کردم در ورژن 4 از jquey استفاده میشده که میشه همین کد شما اما در ورژن 5 اومده گفته از JQUERY استفاده نمیشه دیگه. من اومدم با توجه به چیزی که تو داکیومنت گفته (()myModal.hide) یه کد نوشتم اما جواب نمیده.

    var myModal = document.getElementById('situationModal');
    
    myModal.hide();

    میشه بگین مشکل چیه؟

    • سلام وقت بخیر.
      چون سوال مربوط به دوره نیست، ممنون میشم توی تلگرام پیام بدید.مورد بعدی هدفتون اینه که دکمه بستن modal را داشته باشید یا از طریق جاوااسکریپت modal را ببندید.

  • `با سلام و تشکر مجدد خواستم به صورت خلاصه سوال کنم ؟ با توجه به اینکه من در حال یادگیری VUE.JS 3 هستم راحتر نیست با VUE کار های متل پروژه این دوره رو انجام داد؟`

    • سلام وقت بخیر.
      بله برای تمرین میتونید این پروژه را با vue پیاده سازی کنید.چون این دوره شی گرایی هست، پروژه اش هم بر اساس اون هست تا بهتر شی گرای را درک کنید والا همین پروژه را طبیعتا میتونید با فریمورک های دیگه جاوااسکریپت هم پیاده سازی کنید.

  • سلام ممنون از اموزش خوبتون یک سوال داشتم این دوره برای افرادی که جاوااسکریپت برای بحث فرانت اند استفاده میکنند لازم است ؟
    ممنون میشم پاسخ بدهید

    • سلام وقت بخیر.
      ممنون از شما،این دوره برای دوستانی که میخواهند با شی گرای جاوااسکریپت آشنا بشند و با جاوااسکریپت حرفه ای تر کار کنند مناسب هست اما اجباری برای یادگیری نیست

  • سلام علی جان مشکلم حل شد باید از تگ time در کدهای html استفاده میکردم و خاصیت datetime رو برابر تاریخ مدنظر قرار بدم و بعد با کدهای جاوااسکریپت در یافتش کنم ممنون از سایت خوبتون

    • سلام وقت بخیر.
      خواهش میکنم.ما کاری انجام ندادیم، خودتون سرچ کردید و مشکلتون را حل کردید.

  • سلام علی جان من یه countdown timer از سایت w3 کپی کردم کار میکنه ولی میخوام تاریخی که استفاده میکنه از یک تگ html بیاد مثلا تگ p وقتی با آیدی تگ p مقدارش رو که یک تاریخ هست تو جاوا اسکریپت دریافت میکنم و به تابع newDate میدم که اون رو استفاده کنه کار نمیکنه و تو مرورگر خطای NaNd NaNh NaNm NaNs میده با jquery دریافت میکنم خطا میده چطوری باید یک تاریخ رو از تگ های htmlدریافت کنیم که درست کار کنه و خطا نده

    • سلام وقت بخیر.
      ببینید من که نمیدونم کد شما چی هست.خواهش میکنم سرچ کنید در مورد اون موضوع،اگه هم میخواهید یک تگ را انتخاب کنید از getElement که یا با id و یا با class میتونید انتخاب کنید و به مقادیر داخل اون تگ دسترسی داشته باشید.
      توی دوره جاواسکریپت گفته شده این موضوع.
      از طرفی هم شما چندین مثال countdown هم ببینید و با روش های مختلف آشنا بشید.

    • سلام وقت بخیر.
      بله شما میتونید دوره ها را دانلود کنید زمانی که وارد هر قسمت بشید.دکمه برای دانلود قسمت و همچنین فایل های تمرینی در صورتی که اون قسمت داشته باشه، هست و میتونید استفاده کنید.