如何突破JavaScript中的功能?

这是一段代码,请注意,我已经评论了我想在代码中实现的目标

const extraHot = () => {
   if (hot === "h") {
      return `extra hot`
   }
// otherwise,do nothing,don't return anything
// (not even an empty string or undefined object)
// I want to break here
}

if (givenAmount >= dict){
// I would like to return "Drink maker makes 1 extra hot sugar and 1 stick"
    return `Drink maker makes 1 ${extraHot()} sugar and 1 stick`
}

以下代码将在“ makes”和“ sugar”之间返回“ undefined”

const extraHot = () => {
   if (hot === "h") {
      return `extra hot`
   }
   return
}

以下代码将在“ makes”和“ sugar”之间返回一个空格

const extraHot = () => {
   if (hot === "h") {
      return `extra hot`
   }
   return ""
}
ferfrevervr 回答:如何突破JavaScript中的功能?

您的问题不是函数hot !== "h"返回的内容,而是您如何编写模板字符串。如果if的计算结果为true,请返回' extra hot ',然后将模板字符串写为

Drink maker makes 1${extraHot()}sugar and 1 stick

,

之所以在 makes sugar 之间留出空间,是因为您在makes之后有一个空格,而在sugar前面有另一个空格。为防止这种情况,您必须将额外的热功能更改为:

const extraHot = () => {
   if (hot === "h") {
      return "extra hot " # Note the space after hot
   }
   return ""
}

并稍后将其用于:

if (givenAmount >= dict){
    return `Drink maker makes 1 ${extraHot()}sugar and 1 stick`
}
,

您可以规范化用于返回字符串的函数,以返回空字符串,如果某些结果在字符串前面或末尾保留了额外的空格,请保持这种样式。

这种方法允许将条件链接起来,如果条件错误,则不会获得额外的空间。

在这种情况下,请采取

const extraHot = () => hot === "h" ? ' extra hot' : '';

if (givenAmount >= dict) return `Drink maker makes 1${extraHot()} sugar and 1 stick`;

结果是

Drink maker makes 1 sugar and 1 stick

Drink maker makes 1 extra hot sugar and 1 stick
                   ^^^^^^^^^^
本文链接:https://www.f2er.com/2949657.html

大家都在问