0
Hỏi cú pháp của Javascript độc lạ Bình Dương của newbie, em đọc không hiểu nên nhờ mọi người
Hi mn, cho em hỏi cái đoạn mà em đánh dấu có ý nghĩa gì, ()() có ý nghĩa gì? Đoạn code được lấy trong file làm việc với sequelize(Viết index làm việc với các model) Em là newbie mong được mọi người giúp đỡ
link code tham khảo: https://github.com/didinj/node-express-postgresql-sequelize/blob/master/models/index.js
Thêm một bình luận
2 CÂU TRẢ LỜI
+1
- Cú pháp bạn thắc mắc nó tên là
IIFE
. Nói nôm na là khai báo xong thì gọi luôn hàm đấy. - Giải thích đoạn code:
const model = require(path.join(_dirname, file))
là cú pháp import và nó trả về 1 hàm.- Ví dụ như file
course.js
trong link github bạn gửi hàm trả về sẽ có dạng saumodule.exports = (sequelize, DataTypes) => {}
- Hàm trả về nhận vào 2 đối số
sequelize
vàDataTypes
sau đó dùng IIFE gọi hàm ý và truyền vào 2 đối số làsequelize
vàSequelize.DataTypes
+2
Viết tường mình ra từng tý nó như vầy thôi:
# Original
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
# Explain
const filePath = path.join(__dirname, file);
const modelFn = require(filePath);
const model = modelFn(sequelize, Sequelize.DataTypes);