TypeError: "x" is not a function
JavaScript ็ใis not a functionใไพๅคๆๅจ่ฉฆๅๅฐไธๅๅผ็ถไฝๅฝๅผๅผๅซ๏ผไฝ่ฉฒๅผๅฏฆ้ไธไธฆ้ๅฝๅผๆ็ผ็ใ
่จๆฏ
TypeError: "x" is not a function.๏ผๅบๆผ V8 & Firefox & Safari๏ผ
้ฏ่ชค้กๅ
TypeError
ๅช่ฃกๅบ้ฏไบ๏ผ
็จๅผ่ฉฆๅๅฐไธๅๅผ็ถไฝๅฝๅผๅผๅซ๏ผไฝ่ฉฒๅผๅฏฆ้ไธไธฆ้ๅฝๅผใๆไบ็จๅผ็ขผ้ ๆไฝ ๆไพไธๅๅฝๅผ๏ผไฝไฝ ๆฒๆ้้บผๅใ
ๅฝๅผๅ็จฑๆฏไธๆฏๆๆผๅญ้ฏ่ชค๏ผๆ่
ไฝ ๅผๅซๆนๆณ็็ฉไปถไธๆฒๆ้ๅๅฝๅผ๏ผไพๅฆ๏ผJavaScript ็ Object
ๆฒๆ map
ๅฝๅผ๏ผไฝ JavaScript ็ Array
็ฉไปถๆใ
ๆ่จฑๅคๅ งๅปบๅฝๅผ้่ฆไธๅ๏ผๅๅผ๏ผๅฝๅผใไฝ ๅฟ ้ ๆไพไธๅๅฝๅผ๏ผๆ่ฝ่ฎ้ไบๆนๆณๆญฃๅธธ้ไฝ๏ผ
-
็ถไฝฟ็จ
Array
ๆTypedArray
็ฉไปถๆ๏ผ
็ฏไพ
ๅฝๅผๅ็จฑๆผๅญ้ฏ่ชค
้็จฎๆ ๆณ็ถๅธธ็ผ็๏ผๅณๆนๆณๅ็จฑๆๆผๅญ้ฏ่ชค๏ผ
const x = document.getElementByID("foo");
// TypeError: document.getElementByID is not a function
ๆญฃ็ขบ็ๅฝๅผๅ็จฑๆฏ getElementById
๏ผ
const x = document.getElementById("foo");
ๅจ้ฏ่ชค็็ฉไปถไธๅผๅซๅฝๅผ
ๅฐๆผๆไบๆนๆณ๏ผไฝ ๅฟ
้ ๆไพไธๅ๏ผๅๅผ๏ผๅฝๅผ๏ผ่ไธๅฎๅชๅฐ็นๅฎ็็ฉไปถๆๆใๅจ้ๅ็ฏไพไธญ๏ผๆๅไฝฟ็จไบ Array.prototype.map()
๏ผๅฎๅช้ฉ็จๆผ Array
็ฉไปถใ
const obj = { a: 13, b: 37, c: 42 };
obj.map((num) => num * 2);
// TypeError: obj.map is not a function
ๆน็จ้ฃๅ๏ผ
const numbers = [1, 4, 9];
numbers.map((num) => num * 2); // [2, 8, 18]
ๅฝๅผ่ๅทฒๅญๅจ็ๅฑฌๆงๅๅ
ๆๆๅๅจๅปบ็ซ้กๅฅๆ๏ผไฝ ๅฏ่ฝๆ่ฎไธๅๅฑฌๆงๅไธๅๅฝๅผไฝฟ็จ็ธๅ็ๅ็จฑใ็ถๅผๅซ่ฉฒๅฝๅผๆ๏ผ็ทจ่ญฏๅจๆ่ช็บ่ฉฒๅฝๅผไธๅญๅจใ
function Dog() {
this.age = 11;
this.color = "black";
this.name = "Ralph";
return this;
}
Dog.prototype.name = function (name) {
this.name = name;
return this;
};
const myNewDog = new Dog();
myNewDog.name("Cassidy"); // TypeError: myNewDog.name is not a function
ๆน็จไธๅ็ๅฑฌๆงๅ็จฑ๏ผ
function Dog() {
this.age = 11;
this.color = "black";
this.dogName = "Ralph"; // Using this.dogName instead of .name
return this;
}
Dog.prototype.name = function (name) {
this.dogName = name;
return this;
};
const myNewDog = new Dog();
myNewDog.name("Cassidy"); // Dog { age: 11, color: 'black', dogName: 'Cassidy' }
ไฝฟ็จๆฌ่้ฒ่กไนๆณ้็ฎ
ๅจๆธๅญธไธญ๏ผไฝ ๅฏไปฅๅฐ 2 ร (3 + 5) ๅฏซๆ 2*(3 + 5) ๆ็ดๆฅๅฏซๆ 2(3 + 5)ใ
ไฝฟ็จๅพ่ ๆๆๅบ้ฏ่ชค๏ผ
const sixteen = 2(3 + 5);
console.log(`2 x (3 + 5) is ${sixteen}`);
// Uncaught TypeError: 2 is not a function
ไฝ ๅฏไปฅ้้ๅ ไธ *
้็ฎๅญไพไฟฎๆญฃ็จๅผ็ขผ๏ผ
const sixteen = 2 * (3 + 5);
console.log(`2 x (3 + 5) ๆฏ ${sixteen}`);
// 2 x (3 + 5) ๆฏ 16
ๆญฃ็ขบๅฐๅผๅ ฅๅฏๅบ็ๆจก็ต
่ซ็ขบไฟไฝ ๆญฃ็ขบๅฐๅผๅ ฅๆจก็ตใ
ไธๅ helpers ๅฝๅผๅบซ็ฏไพ๏ผhelpers.js
๏ผ
function helpers() {}
helpers.groupBy = function (objectArray, property) {
return objectArray.reduce((acc, obj) => {
const key = obj[property];
acc[key] ??= [];
acc[key].push(obj);
return acc;
}, {});
};
export default helpers;
ๆญฃ็ขบ็ๅผๅ
ฅ็จๆณ๏ผApp.js
๏ผ๏ผ
import helpers from "./helpers";