ውይ፣ እንደገና አደረግኩት፡ የተለመዱ ስህተቶችን በጃቫስክሪፕት ማረም

ውይ፣ እንደገና አደረግኩት፡ የተለመዱ ስህተቶችን በጃቫስክሪፕት ማረም

ብዙ ገንቢዎች እንደሚያውቁት የጃቫ ስክሪፕት ኮድ መጻፍ ፈታኝ እና አንዳንዴም በትክክል የሚያስፈራ ሊሆን ይችላል። በስራ ሂደት ውስጥ, ስህተቶች መከሰታቸው የማይቀር ነው, እና አንዳንዶቹም በተደጋጋሚ ይደጋገማሉ. ለጀማሪ ገንቢዎች ያለመ ይህ ጽሑፍ ስለእነዚህ ስህተቶች እና እንዴት መፍታት እንደሚቻል ይናገራል። ግልጽ ለማድረግ, የተግባሮች, ንብረቶች እና እቃዎች ስሞች ተወስደዋል ታዋቂ ዘፈን. ይህ ሁሉ የተለመዱ ስህተቶችን እንዴት ማስተካከል እንደሚችሉ በፍጥነት እንዲያስታውሱ ይረዳዎታል.

እኛ እናስታውስዎታለን- ለሁሉም የ "ሀብር" አንባቢዎች - የ "Habr" የማስተዋወቂያ ኮድን በመጠቀም በማንኛውም የ Skillbox ኮርስ ውስጥ ሲመዘገቡ የ 10 ሩብልስ ቅናሽ.

Skillbox ይመክራል፡ ተግባራዊ ኮርስ "ሞባይል ገንቢ PRO".

ዓይነት ስህተት፡ ንብረቱ አልተገለጸም።

let girl = {
    name: "Lucky",
    location: "Hollywood",
    profession: "star",
    thingsMissingInHerLife: true,
    lovely: true,
    cry: function() {
        return "cry, cry, cries in her lonely heart"
    }
}
console.log(girl.named.lucky)

ከላይ ያለው የምሳሌ ኮድ ስህተቱን ይጥላል Uncaught TypeError: ያልተገለጸ ንብረት 'እድለኛ' ማንበብ አልተቻለም። ችግሩ የሴት ልጅ ነገር ምንም እንኳን የስም ንብረት ቢኖረውም, የተሰየመ ንብረት የለውም. እና ልጃገረዷ.ስም የተሰየመ ንብረት ስላልተገለጸ ሊደርሱበት አይችሉም, ምክንያቱም በመደበኛነት የለም. ግን girl.named.luckyን በ girl.name ከቀየሩት ሁሉም ነገር ይሰራል እና ፕሮግራሙ ዕድለኛ ይመለሳል።

ስለ ንብረቶቹ የበለጠ ማወቅ ይችላሉ። እዚህ ያንብቡ።.

የታይፕ ስህተቶችን እንዴት መፍታት እንደሚቻል

የዓይነት ስሕተቶች የሚከሰቱት ፕሮግራመር ከአንድ የተወሰነ ዓይነት ጋር የማይዛመዱ እርምጃዎችን በመረጃ ላይ ለማድረግ ሲሞክር ነው። ለምሳሌ .bold () መጠቀም፣ ያልተገለጸ ንብረት መጠየቅ ወይም ተግባር ያልሆነ ተግባር መጥራት ያካትታሉ።

ስለዚህ፣ ለሴት ልጅ() ለመደወል ከሞከርክ ስህተቱ ታገኛለህ Uncaught TypeError፡ yourVariable.bold ተግባር አይደለም ሴት ልጅ ደግሞ ተግባር አይደለችም ምክንያቱም በትክክል እየተጠራ ያለ ነገር እንጂ ተግባር አይደለም።

ስህተቶችን ለማስወገድ, ተለዋዋጭዎቹን ማጥናት ያስፈልግዎታል. ታዲያ ሴት ልጅ ምንድን ነው? ሴት ልጅ ምን ትባላለች? ይህንን ኮዱን በመተንተን፣ console.logን በመጠቀም ተለዋዋጮችን በማሳየት፣ የአራሚ ትዕዛዝ ወይም በኮንሶሉ ውስጥ ያለውን ተለዋዋጭ ስም በመጥራት ይህንን ማወቅ ይችላሉ። በተለዋዋጭ ውስጥ ባለው የውሂብ አይነት ላይ መስራት እንደሚቻል ማረጋገጥ አለብዎት. የማይመጥን ከሆነ, ይቀይሩት, ለምሳሌ, ሁኔታን ይጨምሩ ወይም ይሞክሩ.. ያዙት እገዳ - እና በቀዶ ጥገናው አፈፃፀም ላይ ቁጥጥር ያግኙ.

ቁልል ተትረፍርፎ

ቤቢ አንድ ተጨማሪ ጊዜ (ይህ ብሪትኒ ስፓርስ ነው፣ አዎ) የተሰኘውን የዘፈኑ ግጥሞች ደራሲዎች ካመንክ በዚህ አውድ ውስጥ ተመታ የሚለው ቃል ዘፋኙ እንደገና ለመጠራት መሻት ማለት ነው (እዚህ ላይ ስለ እሱ አውድ ማብራሪያ አለ)። ዘፈን - የአስተርጓሚ ማስታወሻ). ምናልባት ይህ ፍላጎት በእውነተኛ ህይወት ውስጥ ወደ ጥሪዎች ቁጥር መጨመር ሊያመራ ይችላል. ነገር ግን በፕሮግራም አወጣጥ ውስጥ፣ የጥሪው ቁልል ሞልቶ ከፈሰሰ ስህተት ሊያስከትል የሚችል ድግግሞሽ ነው።

ስህተቶቹ ይህን ይመስላል።

ስህተት፡ ከክምር ቦታ ውጭ (ጠርዝ)
የውስጥ ስህተት፡ ከመጠን በላይ መደጋገም (Firefox)
ክልል ስህተት፡ ከፍተኛው የጥሪ ቁልል መጠን አልፏል (Chrome)

ገንቢው በድግግሞሹ ውስጥ የመነሻ ጉዳዩን ካላጤነ ወይም ኮዱ የታሰበውን ጉዳይ ካልተመለከተ የተቆለለ ትርፍ ይከሰታል።

function oneMoreTime(stillBelieve=true, loneliness=0) {
    if (!stillBelieve && loneliness < 0) return
    loneliness++
    return oneMoreTime(stillBelieve, loneliness)
}

በዚህ አጋጣሚ, stillBelieve በጭራሽ ውሸት ሊሆን አይችልም, ስለዚህ አንድ ተጨማሪ ጊዜ በእያንዳንዱ ጊዜ ይጠራል, ነገር ግን ተግባሩ በጭራሽ አይጠናቀቅም.

በሁለት ጓደኞች ላይ መታመን ከጀመርክ, ይህ ብቸኝነትን ይቀንሳል, እና ጥሪን መጠበቅ አይኖርብህም.

function oneMoreTime(stillBelieve=true, loneliness=0) {
    if (!stillBelieve && loneliness < 0) return
    loneliness--
    stillBelieve = false
    return oneMoreTime(stillBelieve, loneliness)
}

ለምሳሌ ስርዓቱ የስህተት መልእክት በማይፈጥርበት ጊዜ ማለቂያ የሌላቸው ዑደቶች ያሉባቸው ጉዳዮች፣ ነገር ግን የጃቫ ስክሪፕት ኮድ የሚሰራበት ገጽ በቀላሉ ይቀዘቅዛል። ይህ የሚሆነው የወቅቱ ሉፕ የማብቃት ሁኔታ ከሌለው ነው።

let worldEnded = false
 
while (worldEnded !== true) {
  console.log("Keep on dancin' till the world ends")
}

ችግሩን በሚከተለው መንገድ መፍታት ይችላሉ.

let worldEnded = false
 
while (worldEnded !== true) {
  console.log("Keep on dancin' till the world ends")
  worldEnded = true
}

ማለቂያ የሌላቸው ዑደቶችን እና ድግግሞሾችን ማረም

ማለቂያ የሌለው የሉፕ ችግር ካጋጠመዎት በ Chrome ወይም Edge ውስጥ ያለውን ትር መዝጋት እና በፋየርፎክስ ውስጥ የአሳሽ መስኮቱን መዝጋት ያስፈልግዎታል። ከዚህ በኋላ, ኮዱን በጥንቃቄ መተንተን ያስፈልግዎታል. ችግሩን ማግኘት ካልቻሉ፣ ወደ ሉፕዎ ወይም ተግባርዎ የአራሚ ትዕዛዝ ማከል እና የተለዋዋጮችን እሴቶች መፈተሽ ጠቃሚ ነው። ውጤቱ ከተጠበቀው ጋር የማይዛመድ ከሆነ, ከዚያ እንተካዋለን, ይህ በቀላሉ ሊከናወን ይችላል.

ከላይ ባለው ምሳሌ፣ አራሚ እንደ የተግባሩ ወይም የሉፕ የመጀመሪያ መስመር መታከል አለበት። ከዚያ በ Chrome ውስጥ ያሉትን ተለዋዋጮች በመተንተን የማረም ትርን መክፈት ያስፈልግዎታል። የሚቀጥለውን ቁልፍ በመጠቀም ለውጦቻቸውን በእያንዳንዱ ድግግሞሽ መከታተል ይችላሉ። ይህ ሁሉ ለማድረግ ቀላል ነው, እና በአብዛኛዎቹ ሁኔታዎች ችግሩ ተገኝቷል.

ስለ እዚህ ሁሉ የበለጠ ማንበብ ይችላሉ (ለ chrome) እና እዚህ (ለፋየርፎክስ).

የአገባብ ስህተት

በጃቫስክሪፕት ውስጥ በጣም ከተለመዱት ስህተቶች አንዱ SyntaxError ነው። የጽሑፍ አርታዒ ቅጥያዎች እነሱን ለማስወገድ ይረዱዎታል። ለምሳሌ፣ Bracket Pair Colorizer በኮዱ ውስጥ የተለያዩ ቀለሞች ያሉት ቅንፎችን ምልክት ያደርጋል፣ እና Prettier ወይም ተመሳሳይ የትንታኔ መሳሪያ ስህተቶችን በፍጥነት ለማግኘት ያስችላል። የSyntaxErrorን እድል ለመቀነስ በጣም ጥሩው አማራጭ አነስተኛ ጎጆ ነው።

በአስተያየቶቹ ውስጥ ያካፍሉ-ስህተቶችን ለመከላከል ወይም በፍጥነት ለመለየት እና ለማስወገድ ምን ታደርጋለህ?

Skillbox ይመክራል፡

ምንጭ: hab.com

አስተያየት ያክሉ