استفاده از Babel

با درود خدمت شما دوستان .

آیا استفاده Babel رو ضروری می دونید در هنگام نوشتن جاوااسکریپت ؟

به عنوان مثال کدی که من زدم :

const filter = (n) => {
  console.log(n*2);
};
filter(3);

ولی خروجی می ده به :

29 pm

آیا فقط جلوی تداخل در مروگر هایی که es6 پشتیبانی نمی کنند رو می گیره یا کار دیگه ای می کنه ؟ من اگر می خواستم از var استفاده بکنم که const نمی زدم

نه چرا ضروری؟
Babel یک transpiler که کار اصلیش پورت کردن کد ES6 است.
var و const رو درست میگی و این از ضعف های بزرگ JS بوده که در ES6 با let و const بهبود پیدا کرده.
transpile در مورد babel یعنی تبدیل کد ES6 به کدهای قدیمیتر که let و const ندارند. البته به اضافه خیلی چیزای دیگه

1 پسندیده

البته می تونی مرورگر هدف رو مشخص کنی. اگر پیشتیبانی کنه از کدی که نوشتی دیگه transpile نمی کنه اون قسمت ها رو

2 پسندیده

http://www.webbrowsercompatibility.com/es6/desktop/

1 پسندیده

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

@lxsameer تشکر از سمیر عزیز ممنون . من خیلی دوست دارم تو سافاری اصلا مشکل نداشته باشم چون خودم ازش استفاده می کنم . اولیت خودمم :grinning:

فقط تنها مشکلم می مونه با ست کردن روی http://brunch.io . چون رو وب پک ست کردم بر اساس آموزش ها . بعید می دونم سخت باشه ست کردن در برانچ

سخت نیست اما میتونی webpack بجای brunch هم استفاده کنی

1 پسندیده

لازمه که مرورگر ها رو پشتیبانی کنید اما babel تنها راهش نیست.
چی باعث تداخل میشه من متوجه نمیشم شاید معنی تداخل نگرفتم!

1 پسندیده

پشتیبانی نکردن از برخی از فانکشن های . وقتی پشتیبانی نکنه مطمئن هستم کد هم یک جاش دچار مشکل می شه .

اگر برای js چیز دیگه ای در نظر دارید لطفا بفرمایید . بنده دنبالش برم

پس تداخل نیست, js engine نمیتونه تفسیر کنه.
منظور من ضروری بودن babel بود, عرض کردم ضروری نیست.
وقتی babel کار میکنه خوبه دیگه.
من کلا از TypeScript استفاده میکنم و target رو میدم ES5

1 پسندیده

اگر کیبورد فارسی داشتیم عالی میشد
cc @yottanami @lxsameer

2 پسندیده

تایپو اسکریپت شما باید تایپو بنویسید تا تبدیل کنه . ولی این bebel شما همون جاواسکریپتی که می نویسید رو تبدیل می کنه به نظرم آسون تره

1 پسندیده

تایپ سکریپت مطمئن تر و راحت تره.
نگفتم که شما بجای babel استفاده کنید، کلا خواستم بگم چی رو ترجیح میدم.
من در مورد تداخل متوجه نشده بودم، که معلوم شد داستان تداخل نبوده.

2 پسندیده

بله درست می فرمایید منظور من درگیری بین دو کد جاوااسکریپت نبود مثلا یک اسلاید شو داخل صفحه باعث بشه دیگر جاوااسکریپت های موجود کار نکنه . منظور من همون کار نکردن برخی از توابع و … هست .
من فکر کنم چون روی انگولار تجربه خوبی ندارم شدیدا تاثیر گذاشته روی تجربه خوبی نداشتن روی تایپو اسکریپت

امید وارم جاوااسکریپت احمق بلخره مثل آدم کار کنه یک روزی و زیبا بشه باعث نشه آدم انقدر بره دنبال چیز های دیگه

1 پسندیده

تایپو اسکریپت دیگه چه موجودیه؟ :roll_eyes:

فکر کنم بجای js از کلاژر یا تایپ سکریپت استفاده کنی راحتر باشه، حالا کلاژرسکریپت یکم زمان میبره چون باید کلاژر هم یاد بگیری اما TypeScript مثل js و زمان کمتری میبره اگر js خوب بلد باشی.
من سعی میکنم روی انگولار سرمایه گذاری نکنم، react رو ترجیح میدم البته بازم به مورد استفاده مربوط میشه.
تایپ سکریپت و انگولار لازم و ملزوم نیستند، تصمیم تیم انگولار ۲ این بوده که از تایپ سکریپت استفاده کنن

2 پسندیده